diff options
-rw-r--r-- | include/llvm/CodeGen/CommandFlags.h | 8 | ||||
-rw-r--r-- | include/llvm/MC/MCTargetOptionsCommandFlags.h | 29 | ||||
-rw-r--r-- | tools/llc/llc.cpp | 12 | ||||
-rw-r--r-- | tools/llvm-mc/llvm-mc.cpp | 9 |
4 files changed, 25 insertions, 33 deletions
diff --git a/include/llvm/CodeGen/CommandFlags.h b/include/llvm/CodeGen/CommandFlags.h index 619826cf62..ac789e4af8 100644 --- a/include/llvm/CodeGen/CommandFlags.h +++ b/include/llvm/CodeGen/CommandFlags.h @@ -70,11 +70,6 @@ CMModel("code-model", "Large code model"), clEnumValEnd)); -cl::opt<bool> -RelaxAll("mc-relax-all", - cl::desc("When used with filetype=obj, " - "relax all fixups in the emitted object file")); - cl::opt<TargetMachine::CodeGenFileType> FileType("filetype", cl::init(TargetMachine::CGFT_AssemblyFile), cl::desc("Choose a file type (not all types are supported by all targets):"), @@ -87,9 +82,6 @@ FileType("filetype", cl::init(TargetMachine::CGFT_AssemblyFile), "Emit nothing, for performance testing"), clEnumValEnd)); -cl::opt<bool> EnableDwarfDirectory("enable-dwarf-directory", cl::Hidden, - cl::desc("Use .file directives with an explicit directory.")); - cl::opt<bool> DisableRedZone("disable-red-zone", cl::desc("Do not emit code that uses the red zone."), diff --git a/include/llvm/MC/MCTargetOptionsCommandFlags.h b/include/llvm/MC/MCTargetOptionsCommandFlags.h index b26fd944d8..0dddc2fdfb 100644 --- a/include/llvm/MC/MCTargetOptionsCommandFlags.h +++ b/include/llvm/MC/MCTargetOptionsCommandFlags.h @@ -20,22 +20,37 @@ using namespace llvm; cl::opt<MCTargetOptions::AsmInstrumentation> AsmInstrumentation( - "asm-instrumentation", - cl::desc("Instrumentation of inline assembly and " - "assembly source files"), + "asm-instrumentation", cl::desc("Instrumentation of inline assembly and " + "assembly source files"), cl::init(MCTargetOptions::AsmInstrumentationNone), - cl::values(clEnumValN(MCTargetOptions::AsmInstrumentationNone, - "none", + cl::values(clEnumValN(MCTargetOptions::AsmInstrumentationNone, "none", "no instrumentation at all"), - clEnumValN(MCTargetOptions::AsmInstrumentationAddress, - "address", + clEnumValN(MCTargetOptions::AsmInstrumentationAddress, "address", "instrument instructions with memory arguments"), clEnumValEnd)); +cl::opt<bool> RelaxAll("mc-relax-all", + cl::desc("When used with filetype=obj, " + "relax all fixups in the emitted object file")); + +cl::opt<bool> EnableDwarfDirectory( + "enable-dwarf-directory", cl::Hidden, + cl::desc("Use .file directives with an explicit directory.")); + +cl::opt<bool> NoExecStack("mc-no-exec-stack", + cl::desc("File doesn't need an exec stack")); + +static cl::opt<bool> +SaveTempLabels("L", cl::desc("Don't discard temporary labels")); + static inline MCTargetOptions InitMCTargetOptionsFromFlags() { MCTargetOptions Options; Options.SanitizeAddress = (AsmInstrumentation == MCTargetOptions::AsmInstrumentationAddress); + Options.MCRelaxAll = RelaxAll; + Options.MCUseDwarfDirectory = EnableDwarfDirectory; + Options.MCNoExecStack = NoExecStack; + Options.MCSaveTempLabels = SaveTempLabels; return Options; } diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 712817d934..269a5df904 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -287,9 +287,6 @@ static int compileModule(char **argv, LLVMContext &Context) { assert(mod && "Should have exited if we didn't have a module!"); TargetMachine &Target = *target.get(); - if (EnableDwarfDirectory) - Target.setMCUseDwarfDirectory(true); - if (GenerateSoftFloatCalls) FloatABIForCalls = FloatABI::Soft; @@ -315,13 +312,10 @@ static int compileModule(char **argv, LLVMContext &Context) { // Override default to generate verbose assembly. Target.setAsmVerbosityDefault(true); - if (RelaxAll) { - if (FileType != TargetMachine::CGFT_ObjectFile) - errs() << argv[0] + if (RelaxAll.getNumOccurrences() > 0 && + FileType != TargetMachine::CGFT_ObjectFile) + errs() << argv[0] << ": warning: ignoring -mc-relax-all because filetype != obj"; - else - Target.setMCRelaxAll(true); - } { formatted_raw_ostream FOS(Out->os()); diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 364ae73401..e87f1eef28 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/tools/llvm-mc/llvm-mc.cpp @@ -65,12 +65,6 @@ static cl::opt<unsigned> OutputAsmVariant("output-asm-variant", cl::desc("Syntax variant to use for output printing")); -static cl::opt<bool> -RelaxAll("mc-relax-all", cl::desc("Relax all fixups")); - -static cl::opt<bool> -NoExecStack("mc-no-exec-stack", cl::desc("File doesn't need an exec stack")); - enum OutputFileType { OFT_Null, OFT_AssemblyFile, @@ -148,9 +142,6 @@ NoInitialTextSection("n", cl::desc("Don't assume assembly file starts " "in the text section")); static cl::opt<bool> -SaveTempLabels("L", cl::desc("Don't discard temporary labels")); - -static cl::opt<bool> GenDwarfForAssembly("g", cl::desc("Generate dwarf debugging info for assembly " "source files")); |