clang: clang::CodeGenOptions Class Reference (original) (raw)
CodeGenOptions - Track various options which control how the code is optimized and passed to the backend. More...
#include "[clang/Basic/CodeGenOptions.h](CodeGenOptions%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| CodeGenOptions () | |
| const std::vector< std::string > & | getNoBuiltinFuncs () const |
| bool | hasSjLjExceptions () const |
| bool | hasSEHExceptions () const |
| bool | hasDWARFExceptions () const |
| bool | hasWasmExceptions () const |
| bool | hasProfileClangInstr () const |
| Check if Clang profile instrumenation is on. | |
| bool | hasProfileIRInstr () const |
| Check if IR level profile instrumentation is on. | |
| bool | hasProfileCSIRInstr () const |
| Check if CS IR level profile instrumentation is on. | |
| bool | hasProfileInstr () const |
| Check if any form of instrumentation is on. | |
| bool | hasProfileClangUse () const |
| Check if Clang profile use is on. | |
| bool | hasProfileIRUse () const |
| Check if IR level profile use is on. | |
| bool | hasProfileCSIRUse () const |
| Check if CSIR profile use is on. | |
| bool | hasReducedDebugInfo () const |
| Check if type and variable info should be emitted. | |
| bool | hasMaybeUnusedDebugInfo () const |
| Check if maybe unused type info should be emitted. | |
| bool | hasSanitizeCoverage () const |
| bool | hasSanitizeBinaryMetadata () const |
| void | resetNonModularOptions (StringRef ModuleFormat) |
| Reset all of the options that are not considered when building a module. | |
| bool | isLoaderReplaceableFunctionName (StringRef FuncName) 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). | |
| uint64_t | LargeDataThreshold |
| The code model-specific large data threshold to use (-mlarge-data-threshold). | |
| std::string | CoverageDataFile |
| The filename with path we use for coverage data files. | |
| std::string | CoverageNotesFile |
| The filename with path we use for coverage notes files. | |
| std::string | ProfileFilterFiles |
| Regexes separated by a semi-colon to filter the files to instrument. | |
| std::string | ProfileExcludeFiles |
| Regexes separated by a semi-colon to filter the files to not instrument. | |
| char | CoverageVersion [4] = {'0', '0', '0', '0'} |
| The version string to put into coverage files. | |
| std::string | DebugPass |
| Enable additional debugging information. | |
| std::string | DebugCompilationDir |
| The string to embed in debug information as the current working directory. | |
| std::string | CoverageCompilationDir |
| The string to embed in coverage mapping as the current working directory. | |
| std::string | DwarfDebugFlags |
| The string to embed in the debug information for the compile unit, if non-empty. | |
| std::string | RecordCommandLine |
| The string containing the commandline for the llvm.commandline metadata, if non-empty. | |
| llvm::SmallVector< std::pair< std::string, std::string >, 0 > | DebugPrefixMap |
| llvm::SmallVector< std::pair< std::string, std::string >, 0 > | CoveragePrefixMap |
| Prefix replacement map for source-based code coverage to remap source file paths in coverage mapping. | |
| std::string | FloatABI |
| The ABI to use for passing floating point arguments. | |
| std::string | DIBugsReportFilePath |
| The file to use for dumping bug report by Debugify for original debug info. | |
| llvm::DenormalMode | FPDenormalMode = llvm::DenormalMode::getIEEE() |
| The floating-point denormal mode to use. | |
| llvm::DenormalMode | FP32DenormalMode = llvm::DenormalMode::getIEEE() |
| The floating-point denormal mode to use, for float. | |
| std::string | LimitFloatPrecision |
| The float precision limit to use, if non-empty. | |
| std::vector< BitcodeFileToLink > | LinkBitcodeFiles |
| The files specified here are linked in to the module before optimizations. | |
| std::string | MainFileName |
| The user provided name for the "main file", if non-empty. | |
| std::string | SplitDwarfFile |
| The name for the split debug info file used for the DW_AT_[GNU_]dwo_name attribute in the skeleton CU. | |
| std::string | SplitDwarfOutput |
| Output filename for the split debug info, not used in the skeleton CU. | |
| std::string | ObjectFilenameForDebug |
| Output filename used in the COFF debug information. | |
| llvm::Reloc::Model | RelocationModel |
| The name of the relocation model to use. | |
| std::string | TrapFuncName |
| If not an empty string, trap intrinsics are lowered to calls to this function instead of to trap instructions. | |
| std::vector< std::string > | DependentLibraries |
| A list of dependent libraries. | |
| std::vector< std::string > | LinkerOptions |
| A list of linker options to embed in the object file. | |
| std::string | InstrProfileOutput |
| Name of the profile file to use as output for -fprofile-instr-generate, -fprofile-generate, and -fcs-profile-generate. | |
| std::string | PatchableFunctionEntrySection |
| Name of the patchable function entry section with -fpatchable-function-entry. | |
| std::string | SampleProfileFile |
| Name of the profile file to use with -fprofile-sample-use. | |
| std::string | MemoryProfileOutput |
| Name of the profile file to use as output for with -fmemory-profile. | |
| std::string | MemoryProfileUsePath |
| Name of the profile file to use as input for -fmemory-profile-use. | |
| std::string | ProfileInstrumentUsePath |
| Name of the profile file to use as input for -fprofile-instr-use. | |
| std::string | ProfileRemappingFile |
| Name of the profile remapping file to apply to the profile data supplied by -fprofile-sample-use or -fprofile-instr-use. | |
| std::string | ThinLTOIndexFile |
| Name of the function summary index file to use for ThinLTO function importing. | |
| 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. | |
| std::string | SaveTempsFilePrefix |
| Prefix to use for -save-temps output. | |
| 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. | |
| std::vector< std::string > | OffloadObjects |
| List of filenames passed in using the -fembed-offload-object option. | |
| std::string | OptRecordFile |
| The name of the file to which the backend should save YAML optimization records. | |
| std::string | OptRecordPasses |
| The regex that filters the passes that should be saved to the optimization records. | |
| std::string | OptRecordFormat |
| The format used for serializing remarks (default: YAML) | |
| std::string | SymbolPartition |
| The name of the partition that symbols are assigned to, specified with -fsymbol-partition (see https://lld.llvm.org/Partitions.html). | |
| std::string | UniqueSourceFileIdentifier |
| If non-empty, allow the compiler to assume that the given source file identifier is unique at link time. | |
| OptRemark | OptimizationRemark |
| Selected optimizations for which we should enable optimization remarks. | |
| OptRemark | OptimizationRemarkMissed |
| Selected optimizations for which we should enable missed optimization remarks. | |
| OptRemark | OptimizationRemarkAnalysis |
| Selected optimizations for which we should enable optimization analyses. | |
| SanitizerSet | SanitizeRecover |
| Set of sanitizer checks that are non-fatal (i.e. | |
| SanitizerSet | SanitizeTrap |
| Set of sanitizer checks that trap rather than diagnose. | |
| SanitizerSet | SanitizeMergeHandlers |
| Set of sanitizer checks that can merge handlers (smaller code size at the expense of debuggability). | |
| SanitizerMaskCutoffs | SanitizeSkipHotCutoffs |
| Set of thresholds in a range [0.0, 1.0]: the top hottest code responsible for the given fraction of PGO counters will be excluded from sanitization (0.0 [default] to skip none, 1.0 to skip all). | |
| SanitizerSet | SanitizeAnnotateDebugInfo |
| Set of sanitizer checks, for which the instrumentation will be annotated with extra debug info. | |
| std::optional< double > | AllowRuntimeCheckSkipHotCutoff |
| std::vector< uint8_t > | CmdArgs |
| List of backend command-line options for -fembed-bitcode. | |
| std::vector< std::string > | NoBuiltinFuncs |
| A list of all -fno-builtin-* function names (e.g., memset). | |
| std::vector< std::string > | Reciprocals |
| PointerAuthOptions | PointerAuth |
| Configuration for pointer-signing. | |
| std::string | PreferVectorWidth |
| The preferred width for auto-vectorization transforms. | |
| XRayInstrSet | XRayInstrumentationBundle |
| Set of XRay instrumentation kinds to emit. | |
| std::vector< std::string > | DefaultFunctionAttrs |
| std::vector< std::string > | PassPlugins |
| List of dynamic shared object files to be loaded as pass plugins. | |
| std::vector< std::function< void(llvm::PassBuilder &)> > | PassBuilderCallbacks |
| List of pass builder callbacks. | |
| std::vector< std::string > | TocDataVarsUserSpecified |
| List of global variables explicitly specified by the user as toc-data. | |
| std::vector< std::string > | NoTocDataVars |
| List of global variables that over-ride the toc-data default. | |
| std::vector< std::string > | SanitizeCoverageAllowlistFiles |
| Path to allowlist file specifying which objects (files, functions) should exclusively be instrumented by sanitizer coverage pass. | |
| 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. | |
| std::string | StackProtectorGuardReg |
| The TLS base register when StackProtectorGuard is "tls", or register used to store the stack canary for "sysreg". | |
| std::string | StackProtectorGuardSymbol |
| Specify a symbol to be the guard value. | |
| 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. | |
| std::vector< std::string > | SanitizeMetadataIgnorelistFiles |
| Path to ignorelist file specifying which objects (files, functions) listed for instrumentation by sanitizer binary metadata pass should not be instrumented. | |
| llvm::KCFIHashAlgorithm | SanitizeKcfiHash |
| Hash algorithm to use for KCFI type IDs. | |
| std::string | StackUsageOutput |
| Name of the stack usage file (i.e., .su file) if user passes -fstack-usage. | |
| const char * | Argv0 = nullptr |
| Executable and command-line used to create a given CompilerInvocation. | |
| 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. | |
| 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. | |
| std::string | AsSecureLogFile |
| The name of a file to use with .secure_log_unique directives. | |
| std::vector< std::string > | LoaderReplaceableFunctionNames |
| A list of functions that are replacable by the loader. | |
| std::string | MSSecureHotPatchFunctionsFile |
| The name of a file that contains functions which will be compiled for hotpatching. | |
| std::vector< std::string > | MSSecureHotPatchFunctionsList |
| A list of functions which will be compiled for hotpatching. |
CodeGenOptions - Track various options which control how the code is optimized and passed to the backend.
Definition at line 89 of file CodeGenOptions.h.
◆ AssignmentTrackingOpts
◆ DebugSrcHashKind
| Enumerator |
|---|
| DSH_MD5 |
| DSH_SHA1 |
| DSH_SHA256 |
| DSH_NONE |
Definition at line 134 of file CodeGenOptions.h.
◆ EmbedBitcodeKind
| Enumerator |
|---|
| Embed_Off |
| Embed_All |
| Embed_Bitcode |
| Embed_Marker |
Definition at line 116 of file CodeGenOptions.h.
◆ ExceptionHandlingKind
Possible exception handling behavior.
| Enumerator |
|---|
| None |
| SjLj |
| WinEH |
| DwarfCFI |
| Wasm |
Definition at line 186 of file CodeGenOptions.h.
◆ ExtendVariableLivenessKind
◆ FiniteLoopsKind
◆ FramePointerKind
| Enumerator |
|---|
| NonLeafNoReserve |
| None |
| Reserved |
| NonLeaf |
| All |
Definition at line 158 of file CodeGenOptions.h.
◆ InlineAsmDialectKind
◆ InliningMethod
| Enumerator |
|---|
| NormalInlining |
| OnlyHintInlining |
| OnlyAlwaysInlining |
Definition at line 91 of file CodeGenOptions.h.
◆ ObjCDispatchMethodKind
◆ RemarkKind
| Enumerator |
|---|
| RK_Missing |
| RK_Enabled |
| RK_EnabledEverything |
| RK_Disabled |
| RK_DisabledEverything |
| RK_WithPattern |
Definition at line 387 of file CodeGenOptions.h.
◆ SanitizeDebugTrapReasonKind
| Enumerator | |
|---|---|
| None | Trap Messages are omitted. This offers the smallest debug info size but at the cost of making traps hard to debug. |
| Basic | Trap Message is fixed per SanitizerKind. Produces smaller debug info than Detailed but is not as helpful for debugging. |
| Detailed | Trap Message includes more context (e.g. the expression being overflowed). This is more helpful for debugging but produces larger debug info than Basic. |
Definition at line 207 of file CodeGenOptions.h.
◆ StructReturnConventionKind
| Enumerator |
|---|
| SRCK_Default |
| SRCK_OnStack |
| SRCK_InRegs |
Definition at line 110 of file CodeGenOptions.h.
◆ SwiftAsyncFramePointerKind
◆ TLSModel
| Enumerator |
|---|
| GeneralDynamicTLSModel |
| LocalDynamicTLSModel |
| InitialExecTLSModel |
| LocalExecTLSModel |
Definition at line 103 of file CodeGenOptions.h.
| clang::CodeGenOptions::CodeGenOptions | ( | ) |
|---|
◆ getFramePointerKindName()
| StringRef clang::CodeGenOptions::getFramePointerKindName ( FramePointerKind Kind) | inlinestatic |
|---|
◆ getNoBuiltinFuncs()
| const std::vector< std::string > & clang::CodeGenOptions::getNoBuiltinFuncs ( ) const | inline |
|---|
◆ hasDWARFExceptions()
| bool clang::CodeGenOptions::hasDWARFExceptions ( ) const | inline |
|---|
◆ hasMaybeUnusedDebugInfo()
| bool clang::CodeGenOptions::hasMaybeUnusedDebugInfo ( ) const | inline |
|---|
Check if maybe unused type info should be emitted.
Definition at line 637 of file CodeGenOptions.h.
◆ hasProfileClangInstr()
| bool clang::CodeGenOptions::hasProfileClangInstr ( ) const | inline |
|---|
◆ hasProfileClangUse()
| bool clang::CodeGenOptions::hasProfileClangUse ( ) const | inline |
|---|
◆ hasProfileCSIRInstr()
| bool clang::CodeGenOptions::hasProfileCSIRInstr ( ) const | inline |
|---|
Check if CS IR level profile instrumentation is on.
Definition at line 605 of file CodeGenOptions.h.
◆ hasProfileCSIRUse()
| bool clang::CodeGenOptions::hasProfileCSIRUse ( ) const | inline |
|---|
◆ hasProfileInstr()
| bool clang::CodeGenOptions::hasProfileInstr ( ) const | inline |
|---|
◆ hasProfileIRInstr()
| bool clang::CodeGenOptions::hasProfileIRInstr ( ) const | inline |
|---|
Check if IR level profile instrumentation is on.
Definition at line 600 of file CodeGenOptions.h.
◆ hasProfileIRUse()
| bool clang::CodeGenOptions::hasProfileIRUse ( ) const | inline |
|---|
◆ hasReducedDebugInfo()
| bool clang::CodeGenOptions::hasReducedDebugInfo ( ) const | inline |
|---|
Check if type and variable info should be emitted.
Definition at line 632 of file CodeGenOptions.h.
◆ hasSanitizeBinaryMetadata()
| bool clang::CodeGenOptions::hasSanitizeBinaryMetadata ( ) const | inline |
|---|
◆ hasSanitizeCoverage()
| bool clang::CodeGenOptions::hasSanitizeCoverage ( ) const | inline |
|---|
◆ hasSEHExceptions()
| bool clang::CodeGenOptions::hasSEHExceptions ( ) const | inline |
|---|
◆ hasSjLjExceptions()
| bool clang::CodeGenOptions::hasSjLjExceptions ( ) const | inline |
|---|
◆ hasWasmExceptions()
| bool clang::CodeGenOptions::hasWasmExceptions ( ) const | inline |
|---|
◆ isLoaderReplaceableFunctionName()
| bool clang::CodeGenOptions::isLoaderReplaceableFunctionName ( StringRef FuncName) const | inline |
|---|
◆ resetNonModularOptions()
| void clang::CodeGenOptions::resetNonModularOptions | ( | StringRef | ModuleFormat | ) |
|---|
◆ AllowRuntimeCheckSkipHotCutoff
std::optional<double> clang::CodeGenOptions::AllowRuntimeCheckSkipHotCutoff
◆ Argv0
const char* clang::CodeGenOptions::Argv0 = nullptr
◆ AsSecureLogFile
std::string clang::CodeGenOptions::AsSecureLogFile
◆ BBSections
std::string clang::CodeGenOptions::BBSections
◆ BinutilsVersion
std::string clang::CodeGenOptions::BinutilsVersion
◆ CmdArgs
std::vector<uint8_t> clang::CodeGenOptions::CmdArgs
◆ CodeModel
std::string clang::CodeGenOptions::CodeModel
◆ CommandLineArgs
std::vectorstd::string clang::CodeGenOptions::CommandLineArgs
◆ CoverageCompilationDir
std::string clang::CodeGenOptions::CoverageCompilationDir
◆ CoverageDataFile
std::string clang::CodeGenOptions::CoverageDataFile
◆ CoverageNotesFile
std::string clang::CodeGenOptions::CoverageNotesFile
◆ CoveragePrefixMap
llvm::SmallVector<std::pair<std::string, std::string>, 0> clang::CodeGenOptions::CoveragePrefixMap
Prefix replacement map for source-based code coverage to remap source file paths in coverage mapping.
Definition at line 262 of file CodeGenOptions.h.
◆ CoverageVersion
char clang::CodeGenOptions::CoverageVersion[4] = {'0', '0', '0', '0'}
◆ CudaGpuBinaryFileName
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 362 of file CodeGenOptions.h.
◆ DebugCompilationDir
std::string clang::CodeGenOptions::DebugCompilationDir
◆ DebugPass
std::string clang::CodeGenOptions::DebugPass
◆ DebugPrefixMap
llvm::SmallVector<std::pair<std::string, std::string>, 0> clang::CodeGenOptions::DebugPrefixMap
◆ DefaultFunctionAttrs
std::vectorstd::string clang::CodeGenOptions::DefaultFunctionAttrs
◆ DependentLibraries
std::vectorstd::string clang::CodeGenOptions::DependentLibraries
◆ DiagnosticsHotnessThreshold
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:
- 0 => threshold disabled. All remarks will be printed.
- positive int => manual threshold by user. Remarks with hotness exceed threshold will be printed.
- None => 'auto' threshold by user. The actual value is not available at command line, but will be synced with hotness threshold from profile summary during compilation.
If threshold option is not specified, it is disabled by default.
Definition at line 544 of file CodeGenOptions.h.
◆ DiagnosticsMisExpectTolerance
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 548 of file CodeGenOptions.h.
◆ DIBugsReportFilePath
std::string clang::CodeGenOptions::DIBugsReportFilePath
The file to use for dumping bug report by Debugify for original debug info.
Definition at line 269 of file CodeGenOptions.h.
◆ DwarfDebugFlags
std::string clang::CodeGenOptions::DwarfDebugFlags
◆ FloatABI
std::string clang::CodeGenOptions::FloatABI
◆ FP32DenormalMode
llvm::DenormalMode clang::CodeGenOptions::FP32DenormalMode = llvm::DenormalMode::getIEEE()
◆ FPDenormalMode
llvm::DenormalMode clang::CodeGenOptions::FPDenormalMode = llvm::DenormalMode::getIEEE()
◆ InstrProfileOutput
std::string clang::CodeGenOptions::InstrProfileOutput
◆ LargeDataThreshold
uint64_t clang::CodeGenOptions::LargeDataThreshold
◆ LimitFloatPrecision
std::string clang::CodeGenOptions::LimitFloatPrecision
◆ LinkBitcodeFiles
The files specified here are linked in to the module before optimizations.
Definition at line 294 of file CodeGenOptions.h.
◆ LinkerOptions
std::vectorstd::string clang::CodeGenOptions::LinkerOptions
A list of linker options to embed in the object file.
Definition at line 322 of file CodeGenOptions.h.
◆ LoaderReplaceableFunctionNames
std::vectorstd::string clang::CodeGenOptions::LoaderReplaceableFunctionNames
◆ MainFileName
std::string clang::CodeGenOptions::MainFileName
◆ MemoryProfileOutput
std::string clang::CodeGenOptions::MemoryProfileOutput
Name of the profile file to use as output for with -fmemory-profile.
Definition at line 336 of file CodeGenOptions.h.
◆ MemoryProfileUsePath
std::string clang::CodeGenOptions::MemoryProfileUsePath
Name of the profile file to use as input for -fmemory-profile-use.
Definition at line 339 of file CodeGenOptions.h.
◆ MSSecureHotPatchFunctionsFile
std::string clang::CodeGenOptions::MSSecureHotPatchFunctionsFile
◆ MSSecureHotPatchFunctionsList
std::vectorstd::string clang::CodeGenOptions::MSSecureHotPatchFunctionsList
◆ NoBuiltinFuncs
std::vectorstd::string clang::CodeGenOptions::NoBuiltinFuncs
◆ NoTocDataVars
std::vectorstd::string clang::CodeGenOptions::NoTocDataVars
List of global variables that over-ride the toc-data default.
Definition at line 487 of file CodeGenOptions.h.
◆ ObjectFilenameForDebug
std::string clang::CodeGenOptions::ObjectFilenameForDebug
◆ OffloadObjects
std::vectorstd::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 366 of file CodeGenOptions.h.
Referenced by clang::EmbedObject().
◆ OptimizationRemark
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 419 of file CodeGenOptions.h.
◆ OptimizationRemarkAnalysis
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 432 of file CodeGenOptions.h.
◆ OptimizationRemarkMissed
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 425 of file CodeGenOptions.h.
◆ OptRecordFile
std::string clang::CodeGenOptions::OptRecordFile
◆ OptRecordFormat
std::string clang::CodeGenOptions::OptRecordFormat
◆ OptRecordPasses
std::string clang::CodeGenOptions::OptRecordPasses
◆ PassBuilderCallbacks
std::vector<std::function<void(llvm::PassBuilder &)> > clang::CodeGenOptions::PassBuilderCallbacks
◆ PassPlugins
std::vectorstd::string clang::CodeGenOptions::PassPlugins
List of dynamic shared object files to be loaded as pass plugins.
Definition at line 478 of file CodeGenOptions.h.
◆ PatchableFunctionEntrySection
std::string clang::CodeGenOptions::PatchableFunctionEntrySection
Name of the patchable function entry section with -fpatchable-function-entry.
Definition at line 330 of file CodeGenOptions.h.
◆ PointerAuth
◆ PreferVectorWidth
std::string clang::CodeGenOptions::PreferVectorWidth
◆ ProfileExcludeFiles
std::string clang::CodeGenOptions::ProfileExcludeFiles
◆ ProfileFilterFiles
std::string clang::CodeGenOptions::ProfileFilterFiles
◆ ProfileInstrumentUsePath
std::string clang::CodeGenOptions::ProfileInstrumentUsePath
◆ ProfileRemappingFile
std::string clang::CodeGenOptions::ProfileRemappingFile
◆ Reciprocals
std::vectorstd::string clang::CodeGenOptions::Reciprocals
◆ RecordCommandLine
std::string clang::CodeGenOptions::RecordCommandLine
The string containing the commandline for the llvm.commandline metadata, if non-empty.
Definition at line 256 of file CodeGenOptions.h.
◆ RelocationModel
llvm::Reloc::Model clang::CodeGenOptions::RelocationModel
◆ SampleProfileFile
std::string clang::CodeGenOptions::SampleProfileFile
◆ SanitizeAnnotateDebugInfo
SanitizerSet clang::CodeGenOptions::SanitizeAnnotateDebugInfo
Set of sanitizer checks, for which the instrumentation will be annotated with extra debug info.
Definition at line 452 of file CodeGenOptions.h.
◆ SanitizeCoverageAllowlistFiles
std::vectorstd::string clang::CodeGenOptions::SanitizeCoverageAllowlistFiles
Path to allowlist file specifying which objects (files, functions) should exclusively be instrumented by sanitizer coverage pass.
Definition at line 492 of file CodeGenOptions.h.
Referenced by addSanitizers().
◆ SanitizeCoverageIgnorelistFiles
std::vectorstd::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 511 of file CodeGenOptions.h.
Referenced by addSanitizers().
◆ SanitizeKcfiHash
llvm::KCFIHashAlgorithm clang::CodeGenOptions::SanitizeKcfiHash
◆ SanitizeMergeHandlers
Set of sanitizer checks that can merge handlers (smaller code size at the expense of debuggability).
Definition at line 443 of file CodeGenOptions.h.
◆ SanitizeMetadataIgnorelistFiles
std::vectorstd::string clang::CodeGenOptions::SanitizeMetadataIgnorelistFiles
Path to ignorelist file specifying which objects (files, functions) listed for instrumentation by sanitizer binary metadata pass should not be instrumented.
Definition at line 516 of file CodeGenOptions.h.
Referenced by addSanitizers().
◆ SanitizeRecover
Set of sanitizer checks that are non-fatal (i.e.
execution should be continued when possible).
Definition at line 436 of file CodeGenOptions.h.
Referenced by addSanitizers().
◆ SanitizeSkipHotCutoffs
Set of thresholds in a range [0.0, 1.0]: the top hottest code responsible for the given fraction of PGO counters will be excluded from sanitization (0.0 [default] to skip none, 1.0 to skip all).
Definition at line 448 of file CodeGenOptions.h.
Referenced by addSanitizers().
◆ SanitizeTrap
Set of sanitizer checks that trap rather than diagnose.
Definition at line 439 of file CodeGenOptions.h.
◆ SaveTempsFilePrefix
std::string clang::CodeGenOptions::SaveTempsFilePrefix
◆ SplitDwarfFile
std::string clang::CodeGenOptions::SplitDwarfFile
◆ SplitDwarfOutput
std::string clang::CodeGenOptions::SplitDwarfOutput
Output filename for the split debug info, not used in the skeleton CU.
Definition at line 306 of file CodeGenOptions.h.
◆ StackProtectorGuard
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 497 of file CodeGenOptions.h.
◆ StackProtectorGuardReg
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 503 of file CodeGenOptions.h.
◆ StackProtectorGuardSymbol
std::string clang::CodeGenOptions::StackProtectorGuardSymbol
◆ StackUsageOutput
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 524 of file CodeGenOptions.h.
Referenced by initTargetOptions().
◆ SymbolPartition
std::string clang::CodeGenOptions::SymbolPartition
◆ ThinLinkBitcodeFile
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 355 of file CodeGenOptions.h.
◆ ThinLTOIndexFile
std::string clang::CodeGenOptions::ThinLTOIndexFile
◆ TocDataVarsUserSpecified
std::vectorstd::string clang::CodeGenOptions::TocDataVarsUserSpecified
◆ TrapFuncName
std::string clang::CodeGenOptions::TrapFuncName
◆ UniqueSourceFileIdentifier
std::string clang::CodeGenOptions::UniqueSourceFileIdentifier
If non-empty, allow the compiler to assume that the given source file identifier is unique at link time.
Definition at line 385 of file CodeGenOptions.h.
◆ XRayInstrumentationBundle
XRayInstrSet clang::CodeGenOptions::XRayInstrumentationBundle
The documentation for this class was generated from the following files:
- include/clang/Basic/CodeGenOptions.h
- lib/Basic/CodeGenOptions.cpp