LLVM  8.0.1
MCTargetOptionsCommandFlags.inc
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 
22 static cl::opt<MCTargetOptions::AsmInstrumentation> AsmInstrumentation(
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 
31 static cl::opt<bool> RelaxAll("mc-relax-all",
32  cl::desc("When used with filetype=obj, "
33  "relax all fixups in the emitted object file"));
34 
35 static cl::opt<bool> IncrementalLinkerCompatible(
36  "incremental-linker-compatible",
37  cl::desc(
38  "When used with filetype=obj, "
39  "emit an object file which can be used with an incremental linker"));
40 
41 static cl::opt<bool> PIECopyRelocations("pie-copy-relocations", cl::desc("PIE Copy Relocations"));
42 
43 static cl::opt<int> DwarfVersion("dwarf-version", cl::desc("Dwarf version"),
44  cl::init(0));
45 
46 static cl::opt<bool> ShowMCInst("asm-show-inst",
47  cl::desc("Emit internal instruction representation to "
48  "assembly file"));
49 
50 static cl::opt<bool> FatalWarnings("fatal-warnings",
51  cl::desc("Treat warnings as errors"));
52 
53 static cl::opt<bool> NoWarn("no-warn", cl::desc("Suppress all warnings"));
54 static cl::alias NoWarnW("W", cl::desc("Alias for --no-warn"), cl::aliasopt(NoWarn));
55 
56 static cl::opt<bool> NoDeprecatedWarn("no-deprecated-warn",
57  cl::desc("Suppress all deprecated warnings"));
58 
60 ABIName("target-abi", cl::Hidden,
61  cl::desc("The name of the ABI to be targeted from the backend."),
62  cl::init(""));
63 
64 static MCTargetOptions InitMCTargetOptionsFromFlags() {
65  MCTargetOptions Options;
66  Options.SanitizeAddress =
67  (AsmInstrumentation == MCTargetOptions::AsmInstrumentationAddress);
68  Options.MCRelaxAll = RelaxAll;
69  Options.MCIncrementalLinkerCompatible = IncrementalLinkerCompatible;
70  Options.MCPIECopyRelocations = PIECopyRelocations;
71  Options.DwarfVersion = DwarfVersion;
72  Options.ShowMCInst = ShowMCInst;
73  Options.ABIName = ABIName;
74  Options.MCFatalWarnings = FatalWarnings;
75  Options.MCNoWarn = NoWarn;
76  Options.MCNoDeprecatedWarn = NoDeprecatedWarn;
77  return Options;
78 }
79 
80 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:24
bool SanitizeAddress
Enables AddressSanitizer instrumentation at machine level.
initializer< Ty > init(const Ty &Val)
Definition: CommandLine.h:423
ValuesClass values(OptsTy... Options)
Helper to build a ValuesClass by forwarding a variable number of arguments as an initializer list to ...
Definition: CommandLine.h:643
#define clEnumValN(ENUMVAL, FLAGNAME, DESC)
Definition: CommandLine.h:618