X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FMC%2FMCTargetOptions.h;h=4b66a750cb7df6c12d1b866414eabb004191bff1;hb=56afa6e6600151858649d12e4360746918a7978b;hp=b4f5a979720d04f805965f1bf30bbda43ad5069a;hpb=4f6d26dbe89d51362b665fe8fb0f206434e52471;p=oota-llvm.git diff --git a/include/llvm/MC/MCTargetOptions.h b/include/llvm/MC/MCTargetOptions.h index b4f5a979720..4b66a750cb7 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,13 +26,22 @@ public: /// Enables AddressSanitizer instrumentation at machine level. bool SanitizeAddress : 1; - unsigned MCRelaxAll : 1; - unsigned MCNoExecStack : 1; - unsigned MCSaveTempLabels : 1; - unsigned MCUseDwarfDirectory : 1; - unsigned ShowMCEncoding : 1; - unsigned ShowMCInst : 1; - unsigned AsmVerbose : 1; + bool MCRelaxAll : 1; + bool MCNoExecStack : 1; + bool MCFatalWarnings : 1; + bool MCNoWarn : 1; + bool MCSaveTempLabels : 1; + bool MCUseDwarfDirectory : 1; + bool MCIncrementalLinkerCompatible : 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(); }; @@ -37,11 +50,16 @@ inline bool operator==(const MCTargetOptions &LHS, const MCTargetOptions &RHS) { return (ARE_EQUAL(SanitizeAddress) && ARE_EQUAL(MCRelaxAll) && ARE_EQUAL(MCNoExecStack) && + ARE_EQUAL(MCFatalWarnings) && + ARE_EQUAL(MCNoWarn) && ARE_EQUAL(MCSaveTempLabels) && ARE_EQUAL(MCUseDwarfDirectory) && + ARE_EQUAL(MCIncrementalLinkerCompatible) && ARE_EQUAL(ShowMCEncoding) && ARE_EQUAL(ShowMCInst) && - ARE_EQUAL(AsmVerbose)); + ARE_EQUAL(AsmVerbose) && + ARE_EQUAL(DwarfVersion) && + ARE_EQUAL(ABIName)); #undef ARE_EQUAL }