LLVM  3.7.0
MCTargetOptionsCommandFlags.h
Go to the documentation of this file.
1 //===-- MCTargetOptionsCommandFlags.h --------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains machine code-specific flags that are shared between
11 // different command line tools.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H
16 #define LLVM_MC_MCTARGETOPTIONSCOMMANDFLAGS_H
17 
20 using namespace llvm;
21 
23  "asm-instrumentation", cl::desc("Instrumentation of inline assembly and "
24  "assembly source files"),
27  "no instrumentation at all"),
29  "instrument instructions with memory arguments"),
30  clEnumValEnd));
31 
32 cl::opt<bool> RelaxAll("mc-relax-all",
33  cl::desc("When used with filetype=obj, "
34  "relax all fixups in the emitted object file"));
35 
36 cl::opt<int> DwarfVersion("dwarf-version", cl::desc("Dwarf version"),
37  cl::init(0));
38 
39 cl::opt<bool> ShowMCInst("asm-show-inst",
40  cl::desc("Emit internal instruction representation to "
41  "assembly file"));
42 
44 ABIName("target-abi", cl::Hidden,
45  cl::desc("The name of the ABI to be targeted from the backend."),
46  cl::init(""));
47 
49  MCTargetOptions Options;
50  Options.SanitizeAddress =
52  Options.MCRelaxAll = RelaxAll;
53  Options.DwarfVersion = DwarfVersion;
54  Options.ShowMCInst = ShowMCInst;
55  Options.ABIName = ABIName;
56  return Options;
57 }
58 
59 #endif
ValuesClass< DataType > LLVM_END_WITH_NULL values(const char *Arg, DataType Val, const char *Desc,...)
Definition: CommandLine.h:536
#define clEnumValEnd
Definition: CommandLine.h:498
bool SanitizeAddress
Enables AddressSanitizer instrumentation at machine level.
cl::opt< bool > ShowMCInst("asm-show-inst", cl::desc("Emit internal instruction representation to ""assembly file"))
cl::opt< MCTargetOptions::AsmInstrumentation > AsmInstrumentation("asm-instrumentation", cl::desc("Instrumentation of inline assembly and ""assembly source files"), cl::init(MCTargetOptions::AsmInstrumentationNone), cl::values(clEnumValN(MCTargetOptions::AsmInstrumentationNone,"none","no instrumentation at all"), clEnumValN(MCTargetOptions::AsmInstrumentationAddress,"address","instrument instructions with memory arguments"), clEnumValEnd))
static MCTargetOptions InitMCTargetOptionsFromFlags()
initializer< Ty > init(const Ty &Val)
Definition: CommandLine.h:325
cl::opt< int > DwarfVersion("dwarf-version", cl::desc("Dwarf version"), cl::init(0))
cl::opt< std::string > ABIName("target-abi", cl::Hidden, cl::desc("The name of the ABI to be targeted from the backend."), cl::init(""))
#define clEnumValN(ENUMVAL, FLAGNAME, DESC)
Definition: CommandLine.h:497
cl::opt< bool > RelaxAll("mc-relax-all", cl::desc("When used with filetype=obj, ""relax all fixups in the emitted object file"))