LLVM  8.0.1
MCTargetOptions.h
Go to the documentation of this file.
1 //===- MCTargetOptions.h - MC Target Options --------------------*- 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 #ifndef LLVM_MC_MCTARGETOPTIONS_H
11 #define LLVM_MC_MCTARGETOPTIONS_H
12 
13 #include <string>
14 #include <vector>
15 
16 namespace llvm {
17 
18 enum class ExceptionHandling {
19  None, /// No exception support
20  DwarfCFI, /// DWARF-like instruction based exceptions
21  SjLj, /// setjmp/longjmp based exceptions
22  ARM, /// ARM EHABI
23  WinEH, /// Windows Exception Handling
24  Wasm, /// WebAssembly Exception Handling
25 };
26 
28  None, /// No compression
29  GNU, /// zlib-gnu style compression
30  Z, /// zlib style complession
31 };
32 
33 class StringRef;
34 
36 public:
39  AsmInstrumentationAddress
40  };
41 
42  /// Enables AddressSanitizer instrumentation at machine level.
43  bool SanitizeAddress : 1;
44 
45  bool MCRelaxAll : 1;
46  bool MCNoExecStack : 1;
47  bool MCFatalWarnings : 1;
48  bool MCNoWarn : 1;
50  bool MCSaveTempLabels : 1;
54  bool ShowMCEncoding : 1;
55  bool ShowMCInst : 1;
56  bool AsmVerbose : 1;
57 
58  /// Preserve Comments in Assembly.
60 
61  int DwarfVersion = 0;
62 
63  std::string ABIName;
64  std::string SplitDwarfFile;
65 
66  /// Additional paths to search for `.include` directives when using the
67  /// integrated assembler.
68  std::vector<std::string> IASSearchPaths;
69 
71 
72  /// getABIName - If this returns a non-empty string this represents the
73  /// textual name of the ABI that we want the backend to use, e.g. o32, or
74  /// aapcs-linux.
75  StringRef getABIName() const;
76 };
77 
78 } // end namespace llvm
79 
80 #endif // LLVM_MC_MCTARGETOPTIONS_H
This class represents lattice values for constants.
Definition: AllocatorList.h:24
std::vector< std::string > IASSearchPaths
Additional paths to search for .include directives when using the integrated assembler.
DWARF-like instruction based exceptions.
std::string SplitDwarfFile
bool SanitizeAddress
Enables AddressSanitizer instrumentation at machine level.
setjmp/longjmp based exceptions
zlib-gnu style compression
bool PreserveAsmComments
Preserve Comments in Assembly.
Windows Exception Handling.
ExceptionHandling
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:49
No exception support.
DebugCompressionType