diff options
| author | Eric Christopher <echristo@gmail.com> | 2014-05-15 01:10:50 +0000 |
|---|---|---|
| committer | Eric Christopher <echristo@gmail.com> | 2014-05-15 01:10:50 +0000 |
| commit | e6ece1a0c26b03dcfff3923b796f3b91821351d6 (patch) | |
| tree | f7541a5867a7726be5f9afbf780d01f86fb027eb /llvm | |
| parent | 737e089bda2756c9bb23ee2b9d256257b6100602 (diff) | |
| download | bcm5719-llvm-e6ece1a0c26b03dcfff3923b796f3b91821351d6.tar.gz bcm5719-llvm-e6ece1a0c26b03dcfff3923b796f3b91821351d6.zip | |
Unify command line handling of MCTargetOptions and remove extra
options and code. No functional change.
llvm-svn: 208833
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/CodeGen/CommandFlags.h | 8 | ||||
| -rw-r--r-- | llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h | 29 | ||||
| -rw-r--r-- | llvm/tools/llc/llc.cpp | 12 | ||||
| -rw-r--r-- | llvm/tools/llvm-mc/llvm-mc.cpp | 9 |
4 files changed, 25 insertions, 33 deletions
diff --git a/llvm/include/llvm/CodeGen/CommandFlags.h b/llvm/include/llvm/CodeGen/CommandFlags.h index 619826cf622..ac789e4af8a 100644 --- a/llvm/include/llvm/CodeGen/CommandFlags.h +++ b/llvm/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/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h b/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h index b26fd944d82..0dddc2fdfb1 100644 --- a/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h +++ b/llvm/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/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp index 712817d9347..269a5df9041 100644 --- a/llvm/tools/llc/llc.cpp +++ b/llvm/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/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp index 364ae73401e..e87f1eef282 100644 --- a/llvm/tools/llvm-mc/llvm-mc.cpp +++ b/llvm/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")); |

