|
LLVM 24.0.0git
|
#include "llvm/Target/TargetOptions.h"
Public Member Functions | |
| TargetOptions () | |
Public Attributes | |
| unsigned | NoZerosInBSS: 1 |
| NoZerosInBSS - By default some codegens place zero-initialized data to .bss section. | |
| unsigned | GuaranteedTailCallOpt: 1 |
| GuaranteedTailCallOpt - This flag is enabled when -tailcallopt is specified on the commandline. | |
| unsigned | StackSymbolOrdering: 1 |
| StackSymbolOrdering - When true, this will allow CodeGen to order the local stack symbols (for code size, code locality, or any other heuristics). | |
| unsigned | EnableFastISel: 1 |
| EnableFastISel - This flag enables fast-path instruction selection which trades away generated code quality in favor of reducing compile time. | |
| unsigned | EnableGlobalISel: 1 |
| EnableGlobalISel - This flag enables global instruction selection. | |
| GlobalISelAbortMode | GlobalISelAbort = GlobalISelAbortMode::Enable |
| EnableGlobalISelAbort - Control abort behaviour when global instruction selection fails to lower/select an instruction. | |
| SwiftAsyncFramePointerMode | SwiftAsyncFramePointer |
| Control when and how the Swift async frame pointer bit should be set. | |
| unsigned | UseInitArray: 1 |
| UseInitArray - Use .init_array instead of .ctors for static constructors. | |
| unsigned | FunctionSections: 1 |
| Emit functions into separate sections. | |
| unsigned | DataSections: 1 |
| Emit data into separate sections. | |
| unsigned | IgnoreXCOFFVisibility: 1 |
| Do not emit visibility attribute for xcoff. | |
| unsigned | XCOFFTracebackTable: 1 |
| Emit XCOFF traceback table. | |
| unsigned | UniqueSectionNames: 1 |
| unsigned | UniqueBasicBlockSectionNames: 1 |
| Use unique names for basic block sections. | |
| unsigned | SeparateNamedSections: 1 |
| Emit named sections with the same name into different sections. | |
| unsigned | TrapUnreachable: 1 |
| Emit target-specific trap instruction for 'unreachable' IR instructions. | |
| unsigned | NoTrapAfterNoreturn: 1 |
| Do not emit a trap instruction for 'unreachable' IR instructions behind noreturn calls, even if TrapUnreachable is true. | |
| unsigned | TLSSize: 8 |
| Bit size of immediate TLS offsets (0 == use the default). | |
| unsigned | EmulatedTLS: 1 |
| EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library. | |
| unsigned | EnableTLSDESC: 1 |
| EnableTLSDESC - This flag enables TLS Descriptors. | |
| unsigned | EnableIPRA: 1 |
| This flag enables InterProcedural Register Allocation (IPRA). | |
| unsigned | EmitStackSizeSection: 1 |
| Emit section containing metadata on function stack sizes. | |
| unsigned | EnableMachineOutliner: 1 |
| Enables the MachineOutliner pass. | |
| unsigned | EnableMachineFunctionSplitter: 1 |
| Enables the MachineFunctionSplitter pass. | |
| unsigned | EnableStaticDataPartitioning: 1 |
| Enables the StaticDataSplitter pass. | |
| unsigned | EnableDefaultMachineVerifier: 1 |
| Enable Machine verifier at the end of default codegen pipelines. | |
| unsigned | EmitAddrsig: 1 |
| Emit address-significance table. | |
| unsigned | BBAddrMap: 1 |
| BasicBlockSection | BBSections = BasicBlockSection::None |
| Emit basic blocks into separate sections. | |
| std::shared_ptr< MemoryBuffer > | BBSectionsFuncListBuf |
| Memory Buffer that contains information on sampled basic blocks and used to selectively generate basic block sections. | |
| unsigned | EmitCallGraphSection: 1 |
| Emit section containing call graph metadata. | |
| unsigned | EmitCallSiteInfo: 1 |
| The flag enables call site info production. | |
| unsigned | EnableDebugEntryValues: 1 |
| When set to true, the EnableDebugEntryValues option forces production of debug entry values even if the target does not officially support it. | |
| unsigned | ValueTrackingVariableLocations: 1 |
| unsigned | ForceDwarfFrameSection: 1 |
| Emit DWARF debug frame section. | |
| unsigned | XRayFunctionIndex: 1 |
| Emit XRay Function Index section. | |
| unsigned | DebugStrictDwarf: 1 |
| When set to true, don't use DWARF extensions in later DWARF versions. | |
| unsigned | Hotpatch: 1 |
| Emit the hotpatch flag in CodeView debug. | |
| unsigned | JMCInstrument: 1 |
| Enable JustMyCode instrumentation. | |
| unsigned | EnableCFIFixup: 1 |
| Enable the CFIFixup pass. | |
| unsigned | MisExpect: 1 |
| When set to true, enable MisExpect Diagnostics By default, it is set to false. | |
| unsigned | XCOFFReadOnlyPointers: 1 |
| When set to true, const objects with relocatable address values are put into the RO data section. | |
| unsigned | VerifyArgABICompliance: 1 |
| When set to true, call/return argument extensions of narrow integers are verified in the target backend if it cares about them. | |
| std::string | StackUsageFile |
| Name of the stack usage file (i.e., .su file) if user passes -fstack-usage. | |
| unsigned | LoopAlignment = 0 |
| If greater than 0, override TargetLoweringBase::PrefLoopAlignment. | |
| DebuggerKind | DebuggerTuning = DebuggerKind::Default |
| Which debugger to tune for. | |
| VectorLibrary | VecLib = VectorLibrary::NoLibrary |
| Vector math library to use. | |
| ExceptionHandling | ExceptionModel = ExceptionHandling::Default |
| What exception model to use. | |
| MCTargetOptions | MCOptions |
| Machine level options. | |
| std::string | ObjectFilenameForDebug |
| Stores the filename/path of the final .o/.obj file, to be written in the debug information. | |
Definition at line 104 of file TargetOptions.h.
|
inline |
Definition at line 106 of file TargetOptions.h.
References BBAddrMap, DataSections, DebugStrictDwarf, EmitAddrsig, EmitCallGraphSection, EmitCallSiteInfo, EmitStackSizeSection, EmulatedTLS, EnableCFIFixup, EnableDebugEntryValues, EnableDefaultMachineVerifier, EnableFastISel, EnableGlobalISel, EnableIPRA, EnableMachineFunctionSplitter, EnableMachineOutliner, EnableStaticDataPartitioning, EnableTLSDESC, ForceDwarfFrameSection, FunctionSections, GuaranteedTailCallOpt, Hotpatch, IgnoreXCOFFVisibility, JMCInstrument, MisExpect, NoTrapAfterNoreturn, NoZerosInBSS, SeparateNamedSections, StackSymbolOrdering, TLSSize, TrapUnreachable, UniqueBasicBlockSectionNames, UniqueSectionNames, UseInitArray, ValueTrackingVariableLocations, VerifyArgABICompliance, XCOFFReadOnlyPointers, XCOFFTracebackTable, and XRayFunctionIndex.
| unsigned llvm::TargetOptions::BBAddrMap |
Definition at line 226 of file TargetOptions.h.
Referenced by TargetOptions().
| BasicBlockSection llvm::TargetOptions::BBSections = BasicBlockSection::None |
Emit basic blocks into separate sections.
Definition at line 229 of file TargetOptions.h.
| std::shared_ptr<MemoryBuffer> llvm::TargetOptions::BBSectionsFuncListBuf |
Memory Buffer that contains information on sampled basic blocks and used to selectively generate basic block sections.
Definition at line 233 of file TargetOptions.h.
| unsigned llvm::TargetOptions::DataSections |
Emit data into separate sections.
Definition at line 169 of file TargetOptions.h.
Referenced by llvm::computeLTOCacheKey(), TargetOptions(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
| DebuggerKind llvm::TargetOptions::DebuggerTuning = DebuggerKind::Default |
Which debugger to tune for.
Definition at line 296 of file TargetOptions.h.
Referenced by llvm::computeLTOCacheKey().
| unsigned llvm::TargetOptions::DebugStrictDwarf |
When set to true, don't use DWARF extensions in later DWARF versions.
By default, it is set to false.
Definition at line 262 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EmitAddrsig |
Emit address-significance table.
Definition at line 222 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EmitCallGraphSection |
Emit section containing call graph metadata.
Definition at line 236 of file TargetOptions.h.
Referenced by llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::TargetLowering::setTypeIdForCallsiteInfo(), and TargetOptions().
| unsigned llvm::TargetOptions::EmitCallSiteInfo |
The flag enables call site info production.
It is used only for debug info, and it is restricted only to optimized code. This can be used for something else, so that should be controlled in the frontend.
Definition at line 241 of file TargetOptions.h.
Referenced by llvm::MIRParserImpl::initializeCallSiteInfo(), llvm::TargetLowering::setTypeIdForCallsiteInfo(), and TargetOptions().
| unsigned llvm::TargetOptions::EmitStackSizeSection |
Emit section containing metadata on function stack sizes.
Definition at line 206 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EmulatedTLS |
EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library.
Definition at line 197 of file TargetOptions.h.
Referenced by llvm::orc::irManglingOptionsFromTargetOptions(), and TargetOptions().
| unsigned llvm::TargetOptions::EnableCFIFixup |
Enable the CFIFixup pass.
Definition at line 271 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableDebugEntryValues |
When set to true, the EnableDebugEntryValues option forces production of debug entry values even if the target does not officially support it.
Useful for testing purposes only. This flag should never be checked directly, always use TargetMachine::shouldEmitDebugEntryValues instead.
Definition at line 247 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableDefaultMachineVerifier |
Enable Machine verifier at the end of default codegen pipelines.
(Only used with NPM)
Definition at line 219 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableFastISel |
EnableFastISel - This flag enables fast-path instruction selection which trades away generated code quality in favor of reducing compile time.
Definition at line 147 of file TargetOptions.h.
Referenced by llvm::MipsTargetLowering::createFastISel(), LLVMCreateMCJITCompilerForModule(), promoteToConstantPool(), and TargetOptions().
| unsigned llvm::TargetOptions::EnableGlobalISel |
EnableGlobalISel - This flag enables global instruction selection.
Definition at line 150 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableIPRA |
This flag enables InterProcedural Register Allocation (IPRA).
Definition at line 203 of file TargetOptions.h.
Referenced by llvm::TargetFrameLowering::getMustPreserveRegisters(), and TargetOptions().
| unsigned llvm::TargetOptions::EnableMachineFunctionSplitter |
Enables the MachineFunctionSplitter pass.
Definition at line 212 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableMachineOutliner |
Enables the MachineOutliner pass.
Definition at line 209 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableStaticDataPartitioning |
Enables the StaticDataSplitter pass.
Definition at line 215 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::EnableTLSDESC |
EnableTLSDESC - This flag enables TLS Descriptors.
Definition at line 200 of file TargetOptions.h.
Referenced by TargetOptions().
| ExceptionHandling llvm::TargetOptions::ExceptionModel = ExceptionHandling::Default |
What exception model to use.
Definition at line 303 of file TargetOptions.h.
Referenced by basicCheckForEHAndSjLj(), and runIndirectBranchTracking().
| unsigned llvm::TargetOptions::ForceDwarfFrameSection |
Emit DWARF debug frame section.
Definition at line 255 of file TargetOptions.h.
Referenced by llvm::MachineFunction::needsFrameMoves(), and TargetOptions().
| unsigned llvm::TargetOptions::FunctionSections |
Emit functions into separate sections.
Definition at line 166 of file TargetOptions.h.
Referenced by llvm::computeLTOCacheKey(), TargetOptions(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
| GlobalISelAbortMode llvm::TargetOptions::GlobalISelAbort = GlobalISelAbortMode::Enable |
EnableGlobalISelAbort - Control abort behaviour when global instruction selection fails to lower/select an instruction.
Definition at line 154 of file TargetOptions.h.
Referenced by reportGISelDiagnostic(), and llvm::reportGISelFailure().
| unsigned llvm::TargetOptions::GuaranteedTailCallOpt |
GuaranteedTailCallOpt - This flag is enabled when -tailcallopt is specified on the commandline.
When the flag is on, participating targets will perform tail call optimization on all calls which use the fastcc calling convention and which satisfy certain target-independent criteria (being at the end of a function, having the same return type as their parent function, etc.), using an alternate ABI if necessary.
Definition at line 136 of file TargetOptions.h.
Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::isInTailCallPosition(), llvm::SITargetLowering::LowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(), and TargetOptions().
| unsigned llvm::TargetOptions::Hotpatch |
Emit the hotpatch flag in CodeView debug.
Definition at line 265 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::IgnoreXCOFFVisibility |
Do not emit visibility attribute for xcoff.
Definition at line 172 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::JMCInstrument |
Enable JustMyCode instrumentation.
Definition at line 268 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::LoopAlignment = 0 |
If greater than 0, override TargetLoweringBase::PrefLoopAlignment.
Definition at line 293 of file TargetOptions.h.
| MCTargetOptions llvm::TargetOptions::MCOptions |
Machine level options.
Definition at line 306 of file TargetOptions.h.
Referenced by llvm::canDescribeGlobalAddressInLocationList(), codegen(), llvm::computeLTOCacheKey(), createTargetMachine(), getDwarfVersion(), llvm::TargetLoweringObjectFileELF::Initialize(), LLVMCreateTargetDataLayout(), LLVMCreateTargetMachineWithOptions(), and LLVMTargetMachineEmit().
| unsigned llvm::TargetOptions::MisExpect |
When set to true, enable MisExpect Diagnostics By default, it is set to false.
Definition at line 275 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::NoTrapAfterNoreturn |
Do not emit a trap instruction for 'unreachable' IR instructions behind noreturn calls, even if TrapUnreachable is true.
Definition at line 190 of file TargetOptions.h.
Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), llvm::BPFTargetMachine::BPFTargetMachine(), llvm::CodeGenTargetMachineImpl::CodeGenTargetMachineImpl(), TargetOptions(), llvm::SelectionDAGBuilder::visitSPDescriptorFailure(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
| unsigned llvm::TargetOptions::NoZerosInBSS |
NoZerosInBSS - By default some codegens place zero-initialized data to .bss section.
This flag disables such behaviour (necessary, e.g. for crt*.o compiling).
Definition at line 128 of file TargetOptions.h.
Referenced by TargetOptions().
| std::string llvm::TargetOptions::ObjectFilenameForDebug |
Stores the filename/path of the final .o/.obj file, to be written in the debug information.
This is used for emitting the CodeView S_OBJNAME record.
Definition at line 311 of file TargetOptions.h.
Referenced by codegen().
| unsigned llvm::TargetOptions::SeparateNamedSections |
Emit named sections with the same name into different sections.
Definition at line 183 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::StackSymbolOrdering |
StackSymbolOrdering - When true, this will allow CodeGen to order the local stack symbols (for code size, code locality, or any other heuristics).
When false, the local symbols are left in whatever order they were generated. Default is true.
Definition at line 142 of file TargetOptions.h.
Referenced by TargetOptions().
| std::string llvm::TargetOptions::StackUsageFile |
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 290 of file TargetOptions.h.
| SwiftAsyncFramePointerMode llvm::TargetOptions::SwiftAsyncFramePointer |
Control when and how the Swift async frame pointer bit should be set.
Definition at line 158 of file TargetOptions.h.
Referenced by llvm::X86FrameLowering::emitPrologue().
| unsigned llvm::TargetOptions::TLSSize |
Bit size of immediate TLS offsets (0 == use the default).
Definition at line 193 of file TargetOptions.h.
Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), and TargetOptions().
| unsigned llvm::TargetOptions::TrapUnreachable |
Emit target-specific trap instruction for 'unreachable' IR instructions.
Definition at line 186 of file TargetOptions.h.
Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), llvm::BPFTargetMachine::BPFTargetMachine(), llvm::CodeGenTargetMachineImpl::CodeGenTargetMachineImpl(), TargetOptions(), llvm::SelectionDAGBuilder::visitSPDescriptorFailure(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
| unsigned llvm::TargetOptions::UniqueBasicBlockSectionNames |
Use unique names for basic block sections.
Definition at line 180 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::UniqueSectionNames |
Definition at line 177 of file TargetOptions.h.
Referenced by TargetOptions(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
| unsigned llvm::TargetOptions::UseInitArray |
UseInitArray - Use .init_array instead of .ctors for static constructors.
Definition at line 163 of file TargetOptions.h.
Referenced by llvm::TargetLoweringObjectFileELF::Initialize(), and TargetOptions().
| unsigned llvm::TargetOptions::ValueTrackingVariableLocations |
Definition at line 252 of file TargetOptions.h.
Referenced by TargetOptions().
| VectorLibrary llvm::TargetOptions::VecLib = VectorLibrary::NoLibrary |
Vector math library to use.
Definition at line 299 of file TargetOptions.h.
Referenced by codegen(), optimizeModule(), runCodeGenPipelineLegacy(), and runNewPMPasses().
| unsigned llvm::TargetOptions::VerifyArgABICompliance |
When set to true, call/return argument extensions of narrow integers are verified in the target backend if it cares about them.
This is not done with internal tools like llc that run many tests that ignore (lack) these extensions.
Definition at line 285 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::XCOFFReadOnlyPointers |
When set to true, const objects with relocatable address values are put into the RO data section.
Definition at line 279 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::XCOFFTracebackTable |
Emit XCOFF traceback table.
Definition at line 175 of file TargetOptions.h.
Referenced by TargetOptions().
| unsigned llvm::TargetOptions::XRayFunctionIndex |
Emit XRay Function Index section.
Definition at line 258 of file TargetOptions.h.
Referenced by TargetOptions().