X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FMC%2FMCTargetOptions.h;h=7f4f23eda27f7d5ba36fa57daffa6a65a524d099;hb=380de5479cba79ad9c55e80f53252e968390cc8e;hp=3adaf0d5bd791ea0b31c9f203935551dfd17d6fb;hpb=d6af41b2eb87a1f822932aa19b4a9f6039de11fd;p=oota-llvm.git diff --git a/include/llvm/MC/MCTargetOptions.h b/include/llvm/MC/MCTargetOptions.h index 3adaf0d5bd7..7f4f23eda27 100644 --- a/include/llvm/MC/MCTargetOptions.h +++ b/include/llvm/MC/MCTargetOptions.h @@ -10,8 +10,12 @@ #ifndef LLVM_MC_MCTARGETOPTIONS_H #define LLVM_MC_MCTARGETOPTIONS_H +#include + namespace llvm { +class StringRef; + class MCTargetOptions { public: enum AsmInstrumentation { @@ -22,12 +26,36 @@ public: /// Enables AddressSanitizer instrumentation at machine level. bool SanitizeAddress : 1; + bool MCRelaxAll : 1; + bool MCNoExecStack : 1; + bool MCFatalWarnings : 1; + bool MCSaveTempLabels : 1; + bool MCUseDwarfDirectory : 1; + bool ShowMCEncoding : 1; + bool ShowMCInst : 1; + bool AsmVerbose : 1; + int DwarfVersion; + /// getABIName - If this returns a non-empty string this represents the + /// textual name of the ABI that we want the backend to use, e.g. o32, or + /// aapcs-linux. + StringRef getABIName() const; + std::string ABIName; MCTargetOptions(); }; inline bool operator==(const MCTargetOptions &LHS, const MCTargetOptions &RHS) { #define ARE_EQUAL(X) LHS.X == RHS.X - return ARE_EQUAL(SanitizeAddress); + return (ARE_EQUAL(SanitizeAddress) && + ARE_EQUAL(MCRelaxAll) && + ARE_EQUAL(MCNoExecStack) && + ARE_EQUAL(MCFatalWarnings) && + ARE_EQUAL(MCSaveTempLabels) && + ARE_EQUAL(MCUseDwarfDirectory) && + ARE_EQUAL(ShowMCEncoding) && + ARE_EQUAL(ShowMCInst) && + ARE_EQUAL(AsmVerbose) && + ARE_EQUAL(DwarfVersion) && + ARE_EQUAL(ABIName)); #undef ARE_EQUAL }