From d1b5bdaebdcdfc85854e6dac538bcc273b6a486a Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Wed, 21 May 2014 21:05:09 +0000 Subject: [PATCH] Move MCOptions that aren't shared between programs into their specific program and have them initialize the MCOptions struct explicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209321 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCTargetOptionsCommandFlags.h | 20 ------------------- test/DebugInfo/2010-03-19-DbgDeclare.ll | 2 +- test/MC/ELF/noexec.s | 2 +- tools/llc/llc.cpp | 20 ++++++++++++++----- tools/llvm-mc/llvm-mc.cpp | 3 +++ 5 files changed, 20 insertions(+), 27 deletions(-) diff --git a/include/llvm/MC/MCTargetOptionsCommandFlags.h b/include/llvm/MC/MCTargetOptionsCommandFlags.h index 24e683f6172..17a117a2a3b 100644 --- a/include/llvm/MC/MCTargetOptionsCommandFlags.h +++ b/include/llvm/MC/MCTargetOptionsCommandFlags.h @@ -33,31 +33,11 @@ cl::opt RelaxAll("mc-relax-all", cl::desc("When used with filetype=obj, " "relax all fixups in the emitted object file")); -cl::opt EnableDwarfDirectory( - "enable-dwarf-directory", cl::Hidden, - cl::desc("Use .file directives with an explicit directory.")); - -cl::opt NoExecStack("mc-no-exec-stack", - cl::desc("File doesn't need an exec stack")); - -cl::opt ShowMCEncoding("show-mc-encoding", cl::Hidden, - cl::desc("Show encoding in .s output")); -cl::opt ShowMCInst("show-mc-inst", cl::Hidden, - cl::desc("Show instruction structure in .s output")); - -cl::opt AsmVerbose("asm-verbose", cl::desc("Add comments to directives."), - cl::init(false)); - static inline MCTargetOptions InitMCTargetOptionsFromFlags() { MCTargetOptions Options; Options.SanitizeAddress = (AsmInstrumentation == MCTargetOptions::AsmInstrumentationAddress); Options.MCRelaxAll = RelaxAll; - Options.MCUseDwarfDirectory = EnableDwarfDirectory; - Options.MCNoExecStack = NoExecStack; - Options.ShowMCEncoding = ShowMCEncoding; - Options.ShowMCInst = ShowMCInst; - Options.AsmVerbose = AsmVerbose; return Options; } diff --git a/test/DebugInfo/2010-03-19-DbgDeclare.ll b/test/DebugInfo/2010-03-19-DbgDeclare.ll index 0c0a4dcb63e..1ff7fa88bdc 100644 --- a/test/DebugInfo/2010-03-19-DbgDeclare.ll +++ b/test/DebugInfo/2010-03-19-DbgDeclare.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -verify -S -asm-verbose | FileCheck %s +; RUN: llvm-as < %s | opt -verify -S | FileCheck %s ; CHECK: lang 0x8001 diff --git a/test/MC/ELF/noexec.s b/test/MC/ELF/noexec.s index 33cb8ae3452..28f50cb7f69 100644 --- a/test/MC/ELF/noexec.s +++ b/test/MC/ELF/noexec.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -mc-no-exec-stack -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -t | FileCheck %s +// RUN: llvm-mc -no-exec-stack -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -t | FileCheck %s // CHECK: Section { // CHECK: Index: 4 diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 47be4a8b71a..09ff4613b97 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -81,7 +81,18 @@ static cl::opt NoVerify("disable-verify", cl::Hidden, static cl::opt DisableSimplifyLibCalls("disable-simplify-libcalls", cl::desc("Disable simplify-libcalls")); -static int compileModule(char**, LLVMContext&); +static cl::opt ShowMCEncoding("show-mc-encoding", cl::Hidden, + cl::desc("Show encoding in .s output")); + +static cl::opt EnableDwarfDirectory( + "enable-dwarf-directory", cl::Hidden, + cl::desc("Use .file directives with an explicit directory.")); + +static cl::opt AsmVerbose("asm-verbose", + cl::desc("Add comments to directives."), + cl::init(true)); + +static int compileModule(char **, LLVMContext &); // GetFileNameRoot - Helper function to get the basename of a filename. static inline std::string @@ -270,10 +281,9 @@ static int compileModule(char **argv, LLVMContext &Context) { TargetOptions Options = InitTargetOptionsFromCodeGenFlags(); Options.DisableIntegratedAS = NoIntegratedAssembler; - - // Override default to generate verbose assembly unless we've seen the flag. - if (AsmVerbose.getNumOccurrences() == 0) - Options.MCOptions.AsmVerbose = true; + Options.MCOptions.ShowMCEncoding = ShowMCEncoding; + Options.MCOptions.MCUseDwarfDirectory = EnableDwarfDirectory; + Options.MCOptions.AsmVerbose = AsmVerbose; std::unique_ptr target( TheTarget->createTargetMachine(TheTriple.getTriple(), MCPU, FeaturesStr, diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 02dcfcd2dd0..84d578b4d00 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/tools/llvm-mc/llvm-mc.cpp @@ -159,6 +159,9 @@ MainFileName("main-file-name", static cl::opt SaveTempLabels("save-temp-labels", cl::desc("Don't discard temporary labels")); +static cl::opt NoExecStack("no-exec-stack", + cl::desc("File doesn't need an exec stack")); + enum ActionType { AC_AsLex, AC_Assemble, -- 2.34.1