clang
17.0.0git
|
CodeGenOptions - Track various options which control how the code is optimized and passed to the backend. More...
#include "clang/Basic/CodeGenOptions.h"
Classes | |
struct | BitcodeFileToLink |
struct | OptRemark |
Optimization remark with an optional regular expression pattern. More... | |
Public Member Functions | |
CodeGenOptions () | |
const std::vector< std::string > & | getNoBuiltinFuncs () const |
bool | hasProfileClangInstr () const |
Check if Clang profile instrumenation is on. More... | |
bool | hasProfileIRInstr () const |
Check if IR level profile instrumentation is on. More... | |
bool | hasProfileCSIRInstr () const |
Check if CS IR level profile instrumentation is on. More... | |
bool | hasProfileClangUse () const |
Check if Clang profile use is on. More... | |
bool | hasProfileIRUse () const |
Check if IR level profile use is on. More... | |
bool | hasProfileCSIRUse () const |
Check if CSIR profile use is on. More... | |
bool | hasReducedDebugInfo () const |
Check if type and variable info should be emitted. More... | |
bool | hasMaybeUnusedDebugInfo () const |
Check if maybe unused type info should be emitted. More... | |
bool | hasSanitizeCoverage () const |
bool | hasSanitizeBinaryMetadata () const |
Static Public Member Functions | |
static StringRef | getFramePointerKindName (FramePointerKind Kind) |
Public Attributes | |
std::string | BBSections |
std::string | BinutilsVersion |
std::string | CodeModel |
The code model to use (-mcmodel). More... | |
std::string | CoverageDataFile |
The filename with path we use for coverage data files. More... | |
std::string | CoverageNotesFile |
The filename with path we use for coverage notes files. More... | |
std::string | ProfileFilterFiles |
Regexes separated by a semi-colon to filter the files to instrument. More... | |
std::string | ProfileExcludeFiles |
Regexes separated by a semi-colon to filter the files to not instrument. More... | |
char | CoverageVersion [4] |
The version string to put into coverage files. More... | |
std::string | DebugPass |
Enable additional debugging information. More... | |
std::string | DebugCompilationDir |
The string to embed in debug information as the current working directory. More... | |
std::string | CoverageCompilationDir |
The string to embed in coverage mapping as the current working directory. More... | |
std::string | DwarfDebugFlags |
The string to embed in the debug information for the compile unit, if non-empty. More... | |
std::string | RecordCommandLine |
The string containing the commandline for the llvm.commandline metadata, if non-empty. More... | |
std::map< std::string, std::string > | DebugPrefixMap |
std::map< std::string, std::string > | CoveragePrefixMap |
std::string | FloatABI |
The ABI to use for passing floating point arguments. More... | |
std::string | DIBugsReportFilePath |
The file to use for dumping bug report by Debugify for original debug info. More... | |
llvm::DenormalMode | FPDenormalMode = llvm::DenormalMode::getIEEE() |
The floating-point denormal mode to use. More... | |
llvm::DenormalMode | FP32DenormalMode = llvm::DenormalMode::getIEEE() |
The floating-point denormal mode to use, for float. More... | |
std::string | LimitFloatPrecision |
The float precision limit to use, if non-empty. More... | |
std::vector< BitcodeFileToLink > | LinkBitcodeFiles |
The files specified here are linked in to the module before optimizations. More... | |
std::string | MainFileName |
The user provided name for the "main file", if non-empty. More... | |
std::string | SplitDwarfFile |
The name for the split debug info file used for the DW_AT_[GNU_]dwo_name attribute in the skeleton CU. More... | |
std::string | SplitDwarfOutput |
Output filename for the split debug info, not used in the skeleton CU. More... | |
std::string | ObjectFilenameForDebug |
Output filename used in the COFF debug information. More... | |
llvm::Reloc::Model | RelocationModel |
The name of the relocation model to use. More... | |
std::string | TrapFuncName |
If not an empty string, trap intrinsics are lowered to calls to this function instead of to trap instructions. More... | |
std::vector< std::string > | DependentLibraries |
A list of dependent libraries. More... | |
std::vector< std::string > | LinkerOptions |
A list of linker options to embed in the object file. More... | |
std::string | InstrProfileOutput |
Name of the profile file to use as output for -fprofile-instr-generate, -fprofile-generate, and -fcs-profile-generate. More... | |
std::string | SampleProfileFile |
Name of the profile file to use with -fprofile-sample-use. More... | |
std::string | MemoryProfileOutput |
Name of the profile file to use as output for with -fmemory-profile. More... | |
std::string | ProfileInstrumentUsePath |
Name of the profile file to use as input for -fprofile-instr-use. More... | |
std::string | ProfileRemappingFile |
Name of the profile remapping file to apply to the profile data supplied by -fprofile-sample-use or -fprofile-instr-use. More... | |
std::string | ThinLTOIndexFile |
Name of the function summary index file to use for ThinLTO function importing. More... | |
std::string | ThinLinkBitcodeFile |
Name of a file that can optionally be written with minimized bitcode to be used as input for the ThinLTO thin link step, which only needs the summary and module symbol table (and not, e.g. More... | |
std::string | SaveTempsFilePrefix |
Prefix to use for -save-temps output. More... | |
std::string | CudaGpuBinaryFileName |
Name of file passed with -fcuda-include-gpubinary option to forward to CUDA runtime back-end for incorporating them into host-side object file. More... | |
std::vector< std::string > | OffloadObjects |
List of filenames passed in using the -fembed-offload-object option. More... | |
std::string | OptRecordFile |
The name of the file to which the backend should save YAML optimization records. More... | |
std::string | OptRecordPasses |
The regex that filters the passes that should be saved to the optimization records. More... | |
std::string | OptRecordFormat |
The format used for serializing remarks (default: YAML) More... | |
std::string | SymbolPartition |
The name of the partition that symbols are assigned to, specified with -fsymbol-partition (see https://lld.llvm.org/Partitions.html). More... | |
OptRemark | OptimizationRemark |
Selected optimizations for which we should enable optimization remarks. More... | |
OptRemark | OptimizationRemarkMissed |
Selected optimizations for which we should enable missed optimization remarks. More... | |
OptRemark | OptimizationRemarkAnalysis |
Selected optimizations for which we should enable optimization analyses. More... | |
std::vector< std::string > | RewriteMapFiles |
Set of files defining the rules for the symbol rewriting. More... | |
SanitizerSet | SanitizeRecover |
Set of sanitizer checks that are non-fatal (i.e. More... | |
SanitizerSet | SanitizeTrap |
Set of sanitizer checks that trap rather than diagnose. More... | |
std::vector< uint8_t > | CmdArgs |
List of backend command-line options for -fembed-bitcode. More... | |
std::vector< std::string > | NoBuiltinFuncs |
A list of all -fno-builtin-* function names (e.g., memset). More... | |
std::vector< std::string > | Reciprocals |
std::string | PreferVectorWidth |
The preferred width for auto-vectorization transforms. More... | |
XRayInstrSet | XRayInstrumentationBundle |
Set of XRay instrumentation kinds to emit. More... | |
std::vector< std::string > | DefaultFunctionAttrs |
std::vector< std::string > | PassPlugins |
List of dynamic shared object files to be loaded as pass plugins. More... | |
std::vector< std::string > | SanitizeCoverageAllowlistFiles |
Path to allowlist file specifying which objects (files, functions) should exclusively be instrumented by sanitizer coverage pass. More... | |
std::string | StackProtectorGuard |
The guard style used for stack protector to get a initial value, this value usually be gotten from TLS or get from __stack_chk_guard, or some other styles we may implement in the future. More... | |
std::string | StackProtectorGuardReg |
The TLS base register when StackProtectorGuard is "tls", or register used to store the stack canary for "sysreg". More... | |
std::string | StackProtectorGuardSymbol |
Specify a symbol to be the guard value. More... | |
std::vector< std::string > | SanitizeCoverageIgnorelistFiles |
Path to ignorelist file specifying which objects (files, functions) listed for instrumentation by sanitizer coverage pass should actually not be instrumented. More... | |
std::string | StackUsageOutput |
Name of the stack usage file (i.e., .su file) if user passes -fstack-usage. More... | |
const char * | Argv0 = nullptr |
Executable and command-line used to create a given CompilerInvocation. More... | |
std::vector< std::string > | CommandLineArgs |
std::optional< uint64_t > | DiagnosticsHotnessThreshold = 0 |
The minimum hotness value a diagnostic needs in order to be included in optimization diagnostics. More... | |
std::optional< uint32_t > | DiagnosticsMisExpectTolerance = 0 |
The maximum percentage profiling weights can deviate from the expected values in order to be included in misexpect diagnostics. More... | |
std::string | AsSecureLogFile |
The name of a file to use with .secure_log_unique directives. More... | |
CodeGenOptions - Track various options which control how the code is optimized and passed to the backend.
Definition at line 49 of file CodeGenOptions.h.
Enumerator | |
---|---|
DSH_MD5 | |
DSH_SHA1 | |
DSH_SHA256 |
Definition at line 106 of file CodeGenOptions.h.
Enumerator | |
---|---|
Embed_Off | |
Embed_All | |
Embed_Bitcode | |
Embed_Marker |
Definition at line 94 of file CodeGenOptions.h.
Enumerator | |
---|---|
Language | |
Always | |
Always | |
Never | |
Never |
Definition at line 160 of file CodeGenOptions.h.
|
strong |
Enumerator | |
---|---|
None | |
NonLeaf | |
All |
Definition at line 134 of file CodeGenOptions.h.
Enumerator | |
---|---|
IAD_ATT | |
IAD_Intel |
Definition at line 101 of file CodeGenOptions.h.
Enumerator | |
---|---|
NormalInlining | |
OnlyHintInlining | |
OnlyAlwaysInlining |
Definition at line 51 of file CodeGenOptions.h.
Enumerator | |
---|---|
Legacy | |
NonLegacy | |
Mixed |
Definition at line 67 of file CodeGenOptions.h.
Enumerator | |
---|---|
ProfileNone | |
ProfileClangInstr | |
ProfileIRInstr | |
ProfileCSIRInstr |
Definition at line 86 of file CodeGenOptions.h.
Enumerator | |
---|---|
RK_Missing | |
RK_Enabled | |
RK_EnabledEverything | |
RK_Disabled | |
RK_DisabledEverything | |
RK_WithPattern |
Definition at line 318 of file CodeGenOptions.h.
Enumerator | |
---|---|
SRCK_Default | |
SRCK_OnStack | |
SRCK_InRegs |
Definition at line 80 of file CodeGenOptions.h.
Enumerator | |
---|---|
Auto | |
Always | |
Never | |
Default |
Definition at line 153 of file CodeGenOptions.h.
Enumerator | |
---|---|
GeneralDynamicTLSModel | |
LocalDynamicTLSModel | |
InitialExecTLSModel | |
LocalExecTLSModel |
Definition at line 73 of file CodeGenOptions.h.
Enumerator | |
---|---|
NoLibrary | |
Accelerate | |
LIBMVEC | |
MASSV | |
SVML | |
SLEEF | |
Darwin_libsystem_m |
Definition at line 57 of file CodeGenOptions.h.
clang::CodeGenOptions::CodeGenOptions | ( | ) |
Definition at line 14 of file CodeGenOptions.cpp.
References CoverageVersion, memcpy(), and RelocationModel.
|
inlinestatic |
Definition at line 140 of file CodeGenOptions.h.
|
inline |
Definition at line 462 of file CodeGenOptions.h.
References NoBuiltinFuncs.
|
inline |
Check if maybe unused type info should be emitted.
Definition at line 501 of file CodeGenOptions.h.
References clang::codegenoptions::UnusedTypeInfo.
|
inline |
Check if Clang profile instrumenation is on.
Definition at line 467 of file CodeGenOptions.h.
References ProfileClangInstr.
Referenced by clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::CodeGen::CodeGenFunction::EmitBranchToCounterBlock(), and clang::CodeGen::CodeGenPGO::setValueProfilingFlag().
|
inline |
Check if Clang profile use is on.
Definition at line 482 of file CodeGenOptions.h.
References ProfileClangInstr.
|
inline |
Check if CS IR level profile instrumentation is on.
Definition at line 477 of file CodeGenOptions.h.
References ProfileCSIRInstr.
Referenced by runThinLTOBackend().
|
inline |
Check if CSIR profile use is on.
Definition at line 493 of file CodeGenOptions.h.
References ProfileCSIRInstr.
Referenced by runThinLTOBackend().
|
inline |
Check if IR level profile instrumentation is on.
Definition at line 472 of file CodeGenOptions.h.
References ProfileIRInstr.
|
inline |
Check if IR level profile use is on.
Definition at line 487 of file CodeGenOptions.h.
References ProfileCSIRInstr, and ProfileIRInstr.
|
inline |
Check if type and variable info should be emitted.
Definition at line 496 of file CodeGenOptions.h.
References clang::codegenoptions::DebugInfoConstructor.
Referenced by clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitDeclRefExprDbgValue(), clang::CodeGen::CodeGenFunction::EmitLabel(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CGDebugInfo::getOrCreateRecordType(), clang::CodeGen::CGDebugInfo::getOrCreateStandaloneType(), and clang::CodeGen::CodeGenFunction::setBlockContextParameter().
|
inline |
Definition at line 513 of file CodeGenOptions.h.
|
inline |
Definition at line 506 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenFunction::StartFunction().
const char* clang::CodeGenOptions::Argv0 = nullptr |
Executable and command-line used to create a given CompilerInvocation.
Most of the time this will be the full -cc1 command.
Definition at line 427 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::AsSecureLogFile |
The name of a file to use with .secure_log_unique directives.
Definition at line 450 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::BBSections |
Definition at line 126 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::BinutilsVersion |
Definition at line 132 of file CodeGenOptions.h.
std::vector<uint8_t> clang::CodeGenOptions::CmdArgs |
List of backend command-line options for -fembed-bitcode.
Definition at line 376 of file CodeGenOptions.h.
Referenced by clang::EmbedBitcode(), and runThinLTOBackend().
std::string clang::CodeGenOptions::CodeModel |
The code model to use (-mcmodel).
Definition at line 167 of file CodeGenOptions.h.
Referenced by getCodeModel().
std::vector<std::string> clang::CodeGenOptions::CommandLineArgs |
Definition at line 428 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::CoverageCompilationDir |
The string to embed in coverage mapping as the current working directory.
Definition at line 193 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::CoverageDataFile |
The filename with path we use for coverage data files.
The runtime allows further manipulation with the GCOV_PREFIX and GCOV_PREFIX_STRIP environment variables.
Definition at line 172 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::CoverageNotesFile |
The filename with path we use for coverage notes files.
Definition at line 175 of file CodeGenOptions.h.
std::map<std::string, std::string> clang::CodeGenOptions::CoveragePrefixMap |
Definition at line 204 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CoverageMappingModuleGen::CoverageMappingModuleGen().
char clang::CodeGenOptions::CoverageVersion[4] |
The version string to put into coverage files.
Definition at line 184 of file CodeGenOptions.h.
Referenced by CodeGenOptions().
std::string clang::CodeGenOptions::CudaGpuBinaryFileName |
Name of file passed with -fcuda-include-gpubinary option to forward to CUDA runtime back-end for incorporating them into host-side object file.
Definition at line 297 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::DebugCompilationDir |
The string to embed in debug information as the current working directory.
Definition at line 190 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::DebugPass |
Enable additional debugging information.
Definition at line 187 of file CodeGenOptions.h.
Referenced by setCommandLineOpts().
std::map<std::string, std::string> clang::CodeGenOptions::DebugPrefixMap |
Definition at line 203 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CGDebugInfo::CGDebugInfo().
std::vector<std::string> clang::CodeGenOptions::DefaultFunctionAttrs |
Definition at line 391 of file CodeGenOptions.h.
std::vector<std::string> clang::CodeGenOptions::DependentLibraries |
A list of dependent libraries.
Definition at line 261 of file CodeGenOptions.h.
std::optional<uint64_t> clang::CodeGenOptions::DiagnosticsHotnessThreshold = 0 |
The minimum hotness value a diagnostic needs in order to be included in optimization diagnostics.
The threshold is an Optional value, which maps to one of the 3 states:
If threshold option is not specified, it is disabled by default.
Definition at line 443 of file CodeGenOptions.h.
std::optional<uint32_t> clang::CodeGenOptions::DiagnosticsMisExpectTolerance = 0 |
The maximum percentage profiling weights can deviate from the expected values in order to be included in misexpect diagnostics.
Definition at line 447 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::DIBugsReportFilePath |
The file to use for dumping bug report by Debugify
for original debug info.
Definition at line 211 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::DwarfDebugFlags |
The string to embed in the debug information for the compile unit, if non-empty.
Definition at line 197 of file CodeGenOptions.h.
Referenced by SetUpDiagnosticLog().
std::string clang::CodeGenOptions::FloatABI |
The ABI to use for passing floating point arguments.
Definition at line 207 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenModule::getTargetCodeGenInfo().
llvm::DenormalMode clang::CodeGenOptions::FP32DenormalMode = llvm::DenormalMode::getIEEE() |
The floating-point denormal mode to use, for float.
Definition at line 217 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenModule::Release().
llvm::DenormalMode clang::CodeGenOptions::FPDenormalMode = llvm::DenormalMode::getIEEE() |
The floating-point denormal mode to use.
Definition at line 214 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::InstrProfileOutput |
Name of the profile file to use as output for -fprofile-instr-generate, -fprofile-generate, and -fcs-profile-generate.
Definition at line 268 of file CodeGenOptions.h.
Referenced by runThinLTOBackend().
std::string clang::CodeGenOptions::LimitFloatPrecision |
The float precision limit to use, if non-empty.
Definition at line 220 of file CodeGenOptions.h.
Referenced by setCommandLineOpts().
std::vector<BitcodeFileToLink> clang::CodeGenOptions::LinkBitcodeFiles |
The files specified here are linked in to the module before optimizations.
Definition at line 236 of file CodeGenOptions.h.
Referenced by clang::CodeGenAction::CreateASTConsumer().
std::vector<std::string> clang::CodeGenOptions::LinkerOptions |
A list of linker options to embed in the object file.
Definition at line 264 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::MainFileName |
The user provided name for the "main file", if non-empty.
This is useful in situations where the input file name does not match the original input file, for example with -save-temps.
Definition at line 241 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::MemoryProfileOutput |
Name of the profile file to use as output for with -fmemory-profile.
Definition at line 274 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenModule::Release().
std::vector<std::string> clang::CodeGenOptions::NoBuiltinFuncs |
A list of all -fno-builtin-* function names (e.g., memset).
Definition at line 379 of file CodeGenOptions.h.
Referenced by getNoBuiltinFuncs().
std::string clang::CodeGenOptions::ObjectFilenameForDebug |
Output filename used in the COFF debug information.
Definition at line 251 of file CodeGenOptions.h.
Referenced by runThinLTOBackend().
std::vector<std::string> clang::CodeGenOptions::OffloadObjects |
List of filenames passed in using the -fembed-offload-object option.
These are offloading binaries containing device images and metadata.
Definition at line 301 of file CodeGenOptions.h.
Referenced by clang::EmbedObject().
OptRemark clang::CodeGenOptions::OptimizationRemark |
Selected optimizations for which we should enable optimization remarks.
Transformation passes whose name matches the contained (optional) regular expression (and support this feature), will emit a diagnostic whenever they perform a transformation.
Definition at line 350 of file CodeGenOptions.h.
Referenced by clang::BackendConsumer::OptimizationRemarkHandler().
OptRemark clang::CodeGenOptions::OptimizationRemarkAnalysis |
Selected optimizations for which we should enable optimization analyses.
Transformation passes whose name matches the contained (optional) regular expression (and support this feature), will emit a diagnostic whenever they want to explain why they decided to apply or not apply a given transformation.
Definition at line 363 of file CodeGenOptions.h.
Referenced by clang::BackendConsumer::OptimizationRemarkHandler().
OptRemark clang::CodeGenOptions::OptimizationRemarkMissed |
Selected optimizations for which we should enable missed optimization remarks.
Transformation passes whose name matches the contained (optional) regular expression (and support this feature), will emit a diagnostic whenever they tried but failed to perform a transformation.
Definition at line 356 of file CodeGenOptions.h.
Referenced by clang::BackendConsumer::OptimizationRemarkHandler().
std::string clang::CodeGenOptions::OptRecordFile |
The name of the file to which the backend should save YAML optimization records.
Definition at line 305 of file CodeGenOptions.h.
Referenced by clang::reportOptRecordError(), and runThinLTOBackend().
std::string clang::CodeGenOptions::OptRecordFormat |
The format used for serializing remarks (default: YAML)
Definition at line 312 of file CodeGenOptions.h.
Referenced by clang::reportOptRecordError(), and runThinLTOBackend().
std::string clang::CodeGenOptions::OptRecordPasses |
The regex that filters the passes that should be saved to the optimization records.
Definition at line 309 of file CodeGenOptions.h.
Referenced by clang::reportOptRecordError(), and runThinLTOBackend().
std::vector<std::string> clang::CodeGenOptions::PassPlugins |
List of dynamic shared object files to be loaded as pass plugins.
Definition at line 394 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::PreferVectorWidth |
The preferred width for auto-vectorization transforms.
This is intended to override default transforms based on the width of the architected vector registers.
Definition at line 386 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::ProfileExcludeFiles |
Regexes separated by a semi-colon to filter the files to not instrument.
Definition at line 181 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::ProfileFilterFiles |
Regexes separated by a semi-colon to filter the files to instrument.
Definition at line 178 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::ProfileInstrumentUsePath |
Name of the profile file to use as input for -fprofile-instr-use.
Definition at line 277 of file CodeGenOptions.h.
Referenced by runThinLTOBackend().
std::string clang::CodeGenOptions::ProfileRemappingFile |
Name of the profile remapping file to apply to the profile data supplied by -fprofile-sample-use or -fprofile-instr-use.
Definition at line 281 of file CodeGenOptions.h.
std::vector<std::string> clang::CodeGenOptions::Reciprocals |
Definition at line 381 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::RecordCommandLine |
The string containing the commandline for the llvm.commandline metadata, if non-empty.
Definition at line 201 of file CodeGenOptions.h.
llvm::Reloc::Model clang::CodeGenOptions::RelocationModel |
The name of the relocation model to use.
Definition at line 254 of file CodeGenOptions.h.
Referenced by CodeGenOptions(), runThinLTOBackend(), and shouldAssumeDSOLocal().
std::vector<std::string> clang::CodeGenOptions::RewriteMapFiles |
Set of files defining the rules for the symbol rewriting.
Definition at line 366 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::SampleProfileFile |
Name of the profile file to use with -fprofile-sample-use.
Definition at line 271 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenFunction::StartFunction().
std::vector<std::string> clang::CodeGenOptions::SanitizeCoverageAllowlistFiles |
Path to allowlist file specifying which objects (files, functions) should exclusively be instrumented by sanitizer coverage pass.
Definition at line 399 of file CodeGenOptions.h.
std::vector<std::string> clang::CodeGenOptions::SanitizeCoverageIgnorelistFiles |
Path to ignorelist file specifying which objects (files, functions) listed for instrumentation by sanitizer coverage pass should actually not be instrumented.
Definition at line 418 of file CodeGenOptions.h.
SanitizerSet clang::CodeGenOptions::SanitizeRecover |
Set of sanitizer checks that are non-fatal (i.e.
execution should be continued when possible).
Definition at line 370 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCheck().
SanitizerSet clang::CodeGenOptions::SanitizeTrap |
Set of sanitizer checks that trap rather than diagnose.
Definition at line 373 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitVTablePtrCheck(), clang::CodeGen::CodeGenModule::NeedAllVtablesTypeId(), and clang::CodeGen::CodeGenFunction::ShouldEmitVTableTypeCheckedLoad().
std::string clang::CodeGenOptions::SaveTempsFilePrefix |
Prefix to use for -save-temps output.
Definition at line 293 of file CodeGenOptions.h.
Referenced by runThinLTOBackend().
std::string clang::CodeGenOptions::SplitDwarfFile |
The name for the split debug info file used for the DW_AT_[GNU_]dwo_name attribute in the skeleton CU.
Definition at line 245 of file CodeGenOptions.h.
Referenced by runThinLTOBackend().
std::string clang::CodeGenOptions::SplitDwarfOutput |
Output filename for the split debug info, not used in the skeleton CU.
Definition at line 248 of file CodeGenOptions.h.
Referenced by runThinLTOBackend().
std::string clang::CodeGenOptions::StackProtectorGuard |
The guard style used for stack protector to get a initial value, this value usually be gotten from TLS or get from __stack_chk_guard, or some other styles we may implement in the future.
Definition at line 404 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::StackProtectorGuardReg |
The TLS base register when StackProtectorGuard is "tls", or register used to store the stack canary for "sysreg".
On x86 this can be "fs" or "gs". On AArch64 this can only be "sp_el0".
Definition at line 410 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::StackProtectorGuardSymbol |
Specify a symbol to be the guard value.
Definition at line 413 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::StackUsageOutput |
Name of the stack usage file (i.e., .su file) if user passes -fstack-usage.
If empty, it can be implied that -fstack-usage is not passed on the command line.
Definition at line 423 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::SymbolPartition |
The name of the partition that symbols are assigned to, specified with -fsymbol-partition (see https://lld.llvm.org/Partitions.html).
Definition at line 316 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenModule::setGVPropertiesAux().
std::string clang::CodeGenOptions::ThinLinkBitcodeFile |
Name of a file that can optionally be written with minimized bitcode to be used as input for the ThinLTO thin link step, which only needs the summary and module symbol table (and not, e.g.
any debug metadata).
Definition at line 290 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::ThinLTOIndexFile |
Name of the function summary index file to use for ThinLTO function importing.
Definition at line 285 of file CodeGenOptions.h.
std::string clang::CodeGenOptions::TrapFuncName |
If not an empty string, trap intrinsics are lowered to calls to this function instead of to trap instructions.
Definition at line 258 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitTrapCall(), and clang::CodeGen::CodeGenFunction::EmitTrapCheck().
XRayInstrSet clang::CodeGenOptions::XRayInstrumentationBundle |
Set of XRay instrumentation kinds to emit.
Definition at line 389 of file CodeGenOptions.h.
Referenced by clang::CodeGen::CodeGenFunction::AlwaysEmitXRayCustomEvents(), clang::CodeGen::CodeGenFunction::AlwaysEmitXRayTypedEvents(), and clang::CodeGen::CodeGenFunction::StartFunction().