Skip to content

Commit

Permalink
Move MCOptions that aren't shared between programs into their specific
Browse files Browse the repository at this point in the history
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
  • Loading branch information
echristo committed May 21, 2014
1 parent 9a37986 commit d1b5bda
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 27 deletions.
20 changes: 0 additions & 20 deletions include/llvm/MC/MCTargetOptionsCommandFlags.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,31 +33,11 @@ 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"));

cl::opt<bool> ShowMCEncoding("show-mc-encoding", cl::Hidden,
cl::desc("Show encoding in .s output"));
cl::opt<bool> ShowMCInst("show-mc-inst", cl::Hidden,
cl::desc("Show instruction structure in .s output"));

cl::opt<bool> 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;
}

Expand Down
2 changes: 1 addition & 1 deletion test/DebugInfo/2010-03-19-DbgDeclare.ll
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion test/MC/ELF/noexec.s
Original file line number Diff line number Diff line change
@@ -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
Expand Down
20 changes: 15 additions & 5 deletions tools/llc/llc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,18 @@ static cl::opt<bool> NoVerify("disable-verify", cl::Hidden,
static cl::opt<bool> DisableSimplifyLibCalls("disable-simplify-libcalls",
cl::desc("Disable simplify-libcalls"));

static int compileModule(char**, LLVMContext&);
static cl::opt<bool> ShowMCEncoding("show-mc-encoding", cl::Hidden,
cl::desc("Show encoding in .s output"));

static cl::opt<bool> EnableDwarfDirectory(
"enable-dwarf-directory", cl::Hidden,
cl::desc("Use .file directives with an explicit directory."));

static cl::opt<bool> 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
Expand Down Expand Up @@ -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<TargetMachine> target(
TheTarget->createTargetMachine(TheTriple.getTriple(), MCPU, FeaturesStr,
Expand Down
3 changes: 3 additions & 0 deletions tools/llvm-mc/llvm-mc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,9 @@ MainFileName("main-file-name",
static cl::opt<bool> SaveTempLabels("save-temp-labels",
cl::desc("Don't discard temporary labels"));

static cl::opt<bool> NoExecStack("no-exec-stack",
cl::desc("File doesn't need an exec stack"));

enum ActionType {
AC_AsLex,
AC_Assemble,
Expand Down

0 comments on commit d1b5bda

Please sign in to comment.