14 #ifndef LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H
15 #define LLVM_CLANG_FRONTEND_CODEGENOPTIONS_H
19 #include "llvm/Support/Regex.h"
20 #include "llvm/Target/TargetOptions.h"
32 #define CODEGENOPT(Name, Bits, Default) unsigned Name : Bits;
33 #define ENUM_CODEGENOPT(Name, Type, Bits, Default)
34 #include "clang/Frontend/CodeGenOptions.def"
37 #define CODEGENOPT(Name, Bits, Default)
38 #define ENUM_CODEGENOPT(Name, Type, Bits, Default) unsigned Name : Bits;
39 #include "clang/Frontend/CodeGenOptions.def"
256 #define CODEGENOPT(Name, Bits, Default)
257 #define ENUM_CODEGENOPT(Name, Type, Bits, Default) \
258 Type get##Name() const { return static_cast<Type>(Name); } \
259 void set##Name(Type Value) { Name = static_cast<unsigned>(Value); }
260 #include "clang/Frontend/CodeGenOptions.def"
std::string CoverageNotesFile
The filename with path we use for coverage notes files.
std::string ProfileInstrumentUsePath
Name of the profile file to use as input for -fprofile-instr-use.
Conform to the underlying platform's C and C++ ABIs as closely as we can.
std::string DwarfDebugFlags
The string to embed in the debug information for the compile unit, if non-empty.
std::shared_ptr< llvm::Regex > OptimizationRemarkMissedPattern
Regular expression to select optimizations for which we should enable missed optimization remarks...
std::string FPDenormalMode
The floating-point denormal mode to use.
std::string SampleProfileFile
Name of the profile file to use with -fprofile-sample-use.
std::vector< std::string > RewriteMapFiles
Set of files defining the rules for the symbol rewriting.
Bitfields of CodeGenOptions, split out from CodeGenOptions to ensure that this large collection of bi...
bool PropagateAttrs
If true, we set attributes functions in the bitcode library according to our CodeGenOptions, much as we set attrs on functions that we generate ourselves.
std::string SplitDwarfFile
The name for the split debug info file that we'll break out.
std::string DebugPass
Enable additional debugging information.
Attempt to be ABI-compatible with code generated by Clang 4.0.x (SVN r291814).
SanitizerSet SanitizeRecover
Set of sanitizer checks that are non-fatal (i.e.
std::vector< std::string > CudaGpuBinaryFileNames
A list of file names passed with -fcuda-include-gpubinary options to forward to CUDA runtime back-end...
Defines the clang::SanitizerKind enum.
std::map< std::string, std::string > DebugPrefixMap
bool hasProfileIRUse() const
Check if IR level profile use is on.
std::vector< uint8_t > CmdArgs
List of backend command-line options for -fembed-bitcode.
std::string CodeModel
The code model to use (-mcmodel).
ClangABI
Clang versions with different platform ABI conformance.
std::string FloatABI
The ABI to use for passing floating point arguments.
std::string ThreadModel
The thread model to use.
std::vector< std::string > DependentLibraries
A list of dependent libraries.
char CoverageVersion[4]
The version string to put into coverage files.
std::vector< std::string > NoBuiltinFuncs
A list of all -fno-builtin-* function names (e.g., memset).
std::string LimitFloatPrecision
The float precision limit to use, if non-empty.
std::string RelocationModel
The name of the relocation model to use.
unsigned LinkFlags
Bitwise combination of llvm::Linker::Flags, passed to the LLVM linker.
std::shared_ptr< llvm::Regex > OptimizationRemarkPattern
Regular expression to select optimizations for which we should enable optimization remarks...
std::string Filename
The filename of the bitcode file to link in.
const std::vector< std::string > & getNoBuiltinFuncs() const
SanitizerSet SanitizeTrap
Set of sanitizer checks that trap rather than diagnose.
std::shared_ptr< llvm::Regex > OptimizationRemarkAnalysisPattern
Regular expression to select optimizations for which we should enable optimization analyses...
std::vector< BitcodeFileToLink > LinkBitcodeFiles
The files specified here are linked in to the module before optimizations.
StructReturnConventionKind
std::string ThinLTOIndexFile
Name of the function summary index file to use for ThinLTO function importing.
bool hasProfileClangUse() const
Check if Clang profile use is on.
std::string DebugCompilationDir
The string to embed in debug information as the current working directory.
bool hasProfileIRInstr() const
Check if IR level profile instrumentation is on.
std::string CoverageDataFile
The filename with path we use for coverage data files.
std::vector< std::string > LinkerOptions
A list of linker options to embed in the object file.
CodeGenOptions - Track various options which control how the code is optimized and passed to the back...
bool hasProfileClangInstr() const
Check if Clang profile instrumenation is on.
bool isNoBuiltinFunc(const char *Name) const
Is this a libc/libm function that is no longer recognized as a builtin because a -fno-builtin-* optio...
bool Internalize
If true, we use LLVM module internalizer.
std::string MainFileName
The user provided name for the "main file", if non-empty.
std::string InstrProfileOutput
Name of the profile file to use as output for -fprofile-instr-generate and -fprofile-generate.
std::string TrapFuncName
If not an empty string, trap intrinsics are lowered to calls to this function instead of to trap inst...
std::string OptRecordFile
The name of the file to which the backend should save YAML optimization records.
std::string ThinLinkBitcodeFile
Name of a file that can optionally be written with minimized bitcode to be used as input for the Thin...
std::vector< std::string > BackendOptions
A list of command-line options to forward to the LLVM backend.
Attempt to be ABI-compatible with code generated by Clang 3.8.x (SVN r257626).