LLVM  13.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::TargetOptions Class Reference

#include "llvm/Target/TargetOptions.h"

Collaboration diagram for llvm::TargetOptions:
Collaboration graph
[legend]

Public Member Functions

 TargetOptions ()
 
bool DisableFramePointerElim (const MachineFunction &MF) const
 DisableFramePointerElim - This returns true if frame pointer elimination optimization should be disabled for the given machine function. More...
 
bool HonorSignDependentRoundingFPMath () const
 HonorSignDependentRoundingFPMath - Return true if the codegen must assume that the rounding mode of the FPU can change from its default. More...
 
bool ShouldEmitDebugEntryValues () const
 NOTE: There are targets that still do not support the debug entry values production. More...
 
void setFPDenormalMode (DenormalMode Mode)
 
void setFP32DenormalMode (DenormalMode Mode)
 
DenormalMode getRawFPDenormalMode () const
 
DenormalMode getRawFP32DenormalMode () const
 
DenormalMode getDenormalMode (const fltSemantics &FPType) const
 

Public Attributes

std::pair< int, intBinutilsVersion {0, 0}
 If greater than 0, override the default value of MCAsmInfo::BinutilsVersion. More...
 
unsigned UnsafeFPMath: 1
 UnsafeFPMath - This flag is enabled when the -enable-unsafe-fp-math flag is specified on the command line. More...
 
unsigned NoInfsFPMath: 1
 NoInfsFPMath - This flag is enabled when the -enable-no-infs-fp-math flag is specified on the command line. More...
 
unsigned NoNaNsFPMath: 1
 NoNaNsFPMath - This flag is enabled when the -enable-no-nans-fp-math flag is specified on the command line. More...
 
unsigned NoTrappingFPMath: 1
 NoTrappingFPMath - This flag is enabled when the -enable-no-trapping-fp-math is specified on the command line. More...
 
unsigned NoSignedZerosFPMath: 1
 NoSignedZerosFPMath - This flag is enabled when the -enable-no-signed-zeros-fp-math is specified on the command line. More...
 
unsigned EnableAIXExtendedAltivecABI: 1
 EnableAIXExtendedAltivecABI - This flag returns true when -vec-extabi is specified. More...
 
unsigned HonorSignDependentRoundingFPMathOption: 1
 HonorSignDependentRoundingFPMath - This returns true when the -enable-sign-dependent-rounding-fp-math is specified. More...
 
unsigned NoZerosInBSS: 1
 NoZerosInBSS - By default some codegens place zero-initialized data to .bss section. More...
 
unsigned GuaranteedTailCallOpt: 1
 GuaranteedTailCallOpt - This flag is enabled when -tailcallopt is specified on the commandline. More...
 
unsigned StackAlignmentOverride = 0
 StackAlignmentOverride - Override default stack alignment for target. More...
 
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). More...
 
unsigned EnableFastISel: 1
 EnableFastISel - This flag enables fast-path instruction selection which trades away generated code quality in favor of reducing compile time. More...
 
unsigned EnableGlobalISel: 1
 EnableGlobalISel - This flag enables global instruction selection. More...
 
GlobalISelAbortMode GlobalISelAbort = GlobalISelAbortMode::Enable
 EnableGlobalISelAbort - Control abort behaviour when global instruction selection fails to lower/select an instruction. More...
 
unsigned UseInitArray: 1
 UseInitArray - Use .init_array instead of .ctors for static constructors. More...
 
unsigned DisableIntegratedAS: 1
 Disable the integrated assembler. More...
 
DebugCompressionType CompressDebugSections = DebugCompressionType::None
 Compress DWARF debug sections. More...
 
unsigned RelaxELFRelocations: 1
 
unsigned FunctionSections: 1
 Emit functions into separate sections. More...
 
unsigned DataSections: 1
 Emit data into separate sections. More...
 
unsigned IgnoreXCOFFVisibility: 1
 Do not emit visibility attribute for xcoff. More...
 
unsigned XCOFFTracebackTable: 1
 Emit XCOFF traceback table. More...
 
unsigned UniqueSectionNames: 1
 
unsigned UniqueBasicBlockSectionNames: 1
 Use unique names for basic block sections. More...
 
unsigned TrapUnreachable: 1
 Emit target-specific trap instruction for 'unreachable' IR instructions. More...
 
unsigned NoTrapAfterNoreturn: 1
 Do not emit a trap instruction for 'unreachable' IR instructions behind noreturn calls, even if TrapUnreachable is true. More...
 
unsigned TLSSize: 8
 Bit size of immediate TLS offsets (0 == use the default). More...
 
unsigned EmulatedTLS: 1
 EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library. More...
 
unsigned ExplicitEmulatedTLS: 1
 Whether -emulated-tls or -no-emulated-tls is set. More...
 
unsigned EnableIPRA: 1
 This flag enables InterProcedural Register Allocation (IPRA). More...
 
unsigned EmitStackSizeSection: 1
 Emit section containing metadata on function stack sizes. More...
 
unsigned EnableMachineOutliner: 1
 Enables the MachineOutliner pass. More...
 
unsigned EnableMachineFunctionSplitter: 1
 Enables the MachineFunctionSplitter pass. More...
 
unsigned SupportsDefaultOutlining: 1
 Set if the target supports default outlining behaviour. More...
 
unsigned EmitAddrsig: 1
 Emit address-significance table. More...
 
BasicBlockSection BBSections = BasicBlockSection::None
 Emit basic blocks into separate sections. More...
 
std::shared_ptr< MemoryBufferBBSectionsFuncListBuf
 Memory Buffer that contains information on sampled basic blocks and used to selectively generate basic block sections. More...
 
unsigned EmitCallSiteInfo: 1
 The flag enables call site info production. More...
 
unsigned SupportsDebugEntryValues: 1
 Set if the target supports the debug entry values by default. More...
 
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. More...
 
unsigned PseudoProbeForProfiling: 1
 Emit pseudo probes into the binary for sample profiling. More...
 
unsigned ValueTrackingVariableLocations: 1
 
unsigned ForceDwarfFrameSection: 1
 Emit DWARF debug frame section. More...
 
unsigned XRayOmitFunctionIndex: 1
 Emit XRay Function Index section. More...
 
int StackProtectorGuardOffset = INT_MAX
 Stack protector guard offset to use. More...
 
StackProtectorGuards StackProtectorGuard
 Stack protector guard mode to use, e.g. tls, global. More...
 
std::string StackProtectorGuardReg = "None"
 Stack protector guard reg to use, e.g. usually fs or gs in X86. More...
 
FloatABI::ABIType FloatABIType = FloatABI::Default
 FloatABIType - This setting is set by -float-abi=xxx option is specfied on the command line. More...
 
FPOpFusion::FPOpFusionMode AllowFPOpFusion = FPOpFusion::Standard
 AllowFPOpFusion - This flag is set by the -fuse-fp-ops=xxx option. More...
 
ThreadModel::Model ThreadModel = ThreadModel::POSIX
 ThreadModel - This flag specifies the type of threading model to assume for things like atomics. More...
 
EABI EABIVersion = EABI::Default
 EABIVersion - This flag specifies the EABI version. More...
 
DebuggerKind DebuggerTuning = DebuggerKind::Default
 Which debugger to tune for. More...
 
ExceptionHandling ExceptionModel = ExceptionHandling::None
 What exception model to use. More...
 
MCTargetOptions MCOptions
 Machine level options. More...
 

Detailed Description

Definition at line 119 of file TargetOptions.h.

Constructor & Destructor Documentation

◆ TargetOptions()

llvm::TargetOptions::TargetOptions ( )
inline

Definition at line 121 of file TargetOptions.h.

Member Function Documentation

◆ DisableFramePointerElim()

bool TargetOptions::DisableFramePointerElim ( const MachineFunction MF) const

◆ getDenormalMode()

DenormalMode llvm::TargetOptions::getDenormalMode ( const fltSemantics FPType) const

◆ getRawFP32DenormalMode()

DenormalMode llvm::TargetOptions::getRawFP32DenormalMode ( ) const
inline

Definition at line 397 of file TargetOptions.h.

◆ getRawFPDenormalMode()

DenormalMode llvm::TargetOptions::getRawFPDenormalMode ( ) const
inline

Definition at line 393 of file TargetOptions.h.

◆ HonorSignDependentRoundingFPMath()

bool TargetOptions::HonorSignDependentRoundingFPMath ( ) const

HonorSignDependentRoundingFPMath - Return true if the codegen must assume that the rounding mode of the FPU can change from its default.

Definition at line 45 of file TargetOptionsImpl.cpp.

References HonorSignDependentRoundingFPMathOption, and UnsafeFPMath.

◆ setFP32DenormalMode()

void llvm::TargetOptions::setFP32DenormalMode ( DenormalMode  Mode)
inline

Definition at line 389 of file TargetOptions.h.

References Mode.

◆ setFPDenormalMode()

void llvm::TargetOptions::setFPDenormalMode ( DenormalMode  Mode)
inline

Definition at line 385 of file TargetOptions.h.

References Mode.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ ShouldEmitDebugEntryValues()

bool TargetOptions::ShouldEmitDebugEntryValues ( ) const

NOTE: There are targets that still do not support the debug entry values production.

NOTE: There are targets that still do not support the debug entry values production and that is being controlled with the SupportsDebugEntryValues.

In addition, SCE debugger does not have the feature implemented, so prefer not to emit the debug entry values in that case. The EnableDebugEntryValues can be used for the testing purposes.

Definition at line 54 of file TargetOptionsImpl.cpp.

References DebuggerTuning, EnableDebugEntryValues, llvm::SCE, and SupportsDebugEntryValues.

Referenced by llvm::DwarfDebug::DwarfDebug().

Member Data Documentation

◆ AllowFPOpFusion

FPOpFusion::FPOpFusionMode llvm::TargetOptions::AllowFPOpFusion = FPOpFusion::Standard

AllowFPOpFusion - This flag is set by the -fuse-fp-ops=xxx option.

This controls the creation of fused FP ops that store intermediate results in higher precision than IEEE allows (E.g. FMAs).

Fast mode - allows formation of fused FP ops whenever they're profitable. Standard mode - allow fusion only for 'blessed' FP ops. At present the only blessed op is the fmuladd intrinsic. In the future more blessed ops may be added. Strict mode - allow fusion only if/when it can be proven that the excess precision won't effect the result.

Note: This option only controls formation of fused ops by the optimizers. Fused operations that are explicitly specified (e.g. FMA via the llvm.fma.* intrinsic) will always be honored, regardless of the value of this option.

Definition at line 364 of file TargetOptions.h.

Referenced by llvm::NVPTXTargetLowering::allowFMA(), llvm::GCNTTIImpl::getArithmeticInstrCost(), llvm::codegen::InitTargetOptionsFromCodeGenFlags(), isCombineInstrCandidateFP(), isFMAddSubOrFMSubAdd(), llvm::AArch64TargetLowering::isProfitableToHoist(), and llvm::PPCTargetLowering::isProfitableToHoist().

◆ BBSections

BasicBlockSection llvm::TargetOptions::BBSections = BasicBlockSection::None

Emit basic blocks into separate sections.

Definition at line 295 of file TargetOptions.h.

Referenced by llvm::TargetMachine::getBBSectionsType(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ BBSectionsFuncListBuf

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 299 of file TargetOptions.h.

Referenced by llvm::TargetMachine::getBBSectionsFuncListBuf(), llvm::codegen::getBBSectionsMode(), and llvm::codegen::getStackProtectorGuardMode().

◆ BinutilsVersion

std::pair<int, int> llvm::TargetOptions::BinutilsVersion {0, 0}

If greater than 0, override the default value of MCAsmInfo::BinutilsVersion.

Definition at line 148 of file TargetOptions.h.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

◆ CompressDebugSections

DebugCompressionType llvm::TargetOptions::CompressDebugSections = DebugCompressionType::None

Compress DWARF debug sections.

Definition at line 238 of file TargetOptions.h.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

◆ DataSections

unsigned llvm::TargetOptions::DataSections

◆ DebuggerTuning

DebuggerKind llvm::TargetOptions::DebuggerTuning = DebuggerKind::Default

◆ DisableIntegratedAS

unsigned llvm::TargetOptions::DisableIntegratedAS

Disable the integrated assembler.

Definition at line 235 of file TargetOptions.h.

Referenced by llvm::LLVMTargetMachine::initAsmInfo().

◆ EABIVersion

EABI llvm::TargetOptions::EABIVersion = EABI::Default

EABIVersion - This flag specifies the EABI version.

Definition at line 371 of file TargetOptions.h.

Referenced by llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ EmitAddrsig

unsigned llvm::TargetOptions::EmitAddrsig

Emit address-significance table.

Definition at line 292 of file TargetOptions.h.

Referenced by llvm::AsmPrinter::doFinalization(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ EmitCallSiteInfo

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 304 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ EmitStackSizeSection

unsigned llvm::TargetOptions::EmitStackSizeSection

Emit section containing metadata on function stack sizes.

Definition at line 280 of file TargetOptions.h.

Referenced by llvm::AsmPrinter::emitStackSizeSection(), llvm::codegen::InitTargetOptionsFromCodeGenFlags(), and llvm::AsmPrinter::SetupMachineFunction().

◆ EmulatedTLS

unsigned llvm::TargetOptions::EmulatedTLS

EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library.

Definition at line 271 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags(), llvm::orc::irManglingOptionsFromTargetOptions(), llvm::orc::JITTargetMachineBuilder::JITTargetMachineBuilder(), and llvm::TargetMachine::useEmulatedTLS().

◆ EnableAIXExtendedAltivecABI

unsigned llvm::TargetOptions::EnableAIXExtendedAltivecABI

EnableAIXExtendedAltivecABI - This flag returns true when -vec-extabi is specified.

The code generator is then able to use both volatile and nonvolitle vector regisers. When false, the code generator only uses volatile vector registers which is the default setting on AIX.

Definition at line 184 of file TargetOptions.h.

Referenced by llvm::TargetMachine::getAIXExtendedAltivecABI(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ EnableDebugEntryValues

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 ShouldEmitDebugEntryValues instead.

Definition at line 311 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags(), and ShouldEmitDebugEntryValues().

◆ EnableFastISel

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 221 of file TargetOptions.h.

Referenced by LLVMCreateMCJITCompilerForModule(), llvm::OptLevelChanger::OptLevelChanger(), promoteToConstantPool(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::TargetMachine::setFastISel(), and llvm::ARMSubtarget::useFastISel().

◆ EnableGlobalISel

unsigned llvm::TargetOptions::EnableGlobalISel

EnableGlobalISel - This flag enables global instruction selection.

Definition at line 224 of file TargetOptions.h.

Referenced by llvm::TargetPassConfig::addCoreISelPasses(), and llvm::TargetMachine::setGlobalISel().

◆ EnableIPRA

unsigned llvm::TargetOptions::EnableIPRA

◆ EnableMachineFunctionSplitter

unsigned llvm::TargetOptions::EnableMachineFunctionSplitter

Enables the MachineFunctionSplitter pass.

Definition at line 286 of file TargetOptions.h.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ EnableMachineOutliner

unsigned llvm::TargetOptions::EnableMachineOutliner

Enables the MachineOutliner pass.

Definition at line 283 of file TargetOptions.h.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetMachine::setMachineOutliner().

◆ ExceptionModel

ExceptionHandling llvm::TargetOptions::ExceptionModel = ExceptionHandling::None

What exception model to use.

Definition at line 404 of file TargetOptions.h.

Referenced by llvm::LLVMTargetMachine::initAsmInfo(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ ExplicitEmulatedTLS

unsigned llvm::TargetOptions::ExplicitEmulatedTLS

◆ FloatABIType

FloatABI::ABIType llvm::TargetOptions::FloatABIType = FloatABI::Default

FloatABIType - This setting is set by -float-abi=xxx option is specfied on the command line.

This setting may either be Default, Soft, or Hard. Default selects the target's default behavior. Soft selects the ABI for software floating point, but does not indicate that FP hardware may not be used. Such a combination is unfortunately popular (e.g. arm-apple-darwin). Hard presumes that the normal FP ABI is used.

Definition at line 346 of file TargetOptions.h.

Referenced by llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ ForceDwarfFrameSection

unsigned llvm::TargetOptions::ForceDwarfFrameSection

◆ FunctionSections

unsigned llvm::TargetOptions::FunctionSections

◆ GlobalISelAbort

GlobalISelAbortMode llvm::TargetOptions::GlobalISelAbort = GlobalISelAbortMode::Enable

◆ GuaranteedTailCallOpt

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 207 of file TargetOptions.h.

Referenced by llvm::PPCFrameLowering::determineCalleeSaves(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::emitEpilogue(), llvm::codegen::InitTargetOptionsFromCodeGenFlags(), llvm::AArch64CallLowering::isEligibleForTailCallOptimization(), llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::AArch64CallLowering::lowerCall(), llvm::SITargetLowering::LowerCall(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::PPCFrameLowering::needsFP(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().

◆ HonorSignDependentRoundingFPMathOption

unsigned llvm::TargetOptions::HonorSignDependentRoundingFPMathOption

HonorSignDependentRoundingFPMath - This returns true when the -enable-sign-dependent-rounding-fp-math is specified.

If this returns false (the default), the code generator is allowed to assume that the rounding behavior is the default (round-to-zero for all floating point to integer conversions, and round-to-nearest for all other arithmetic truncations). If this is enabled (set to true), the code generator must assume that the rounding mode may dynamically change.

Definition at line 193 of file TargetOptions.h.

Referenced by HonorSignDependentRoundingFPMath(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ IgnoreXCOFFVisibility

unsigned llvm::TargetOptions::IgnoreXCOFFVisibility

Do not emit visibility attribute for xcoff.

Definition at line 249 of file TargetOptions.h.

Referenced by llvm::TargetMachine::getIgnoreXCOFFVisibility(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ MCOptions

MCTargetOptions llvm::TargetOptions::MCOptions

◆ NoInfsFPMath

unsigned llvm::TargetOptions::NoInfsFPMath

NoInfsFPMath - This flag is enabled when the -enable-no-infs-fp-math flag is specified on the command line.

When this flag is off (the default), the code generator is not allowed to assume the FP arithmetic arguments and results are never +-Infs.

Definition at line 161 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ NoNaNsFPMath

unsigned llvm::TargetOptions::NoNaNsFPMath

NoNaNsFPMath - This flag is enabled when the -enable-no-nans-fp-math flag is specified on the command line.

When this flag is off (the default), the code generator is not allowed to assume the FP arithmetic arguments and results are never NaNs.

Definition at line 167 of file TargetOptions.h.

Referenced by combineFMinFMax(), combineFMinNumFMaxNum(), llvm::SelectionDAGBuilder::EmitBranchForMergedCondition(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ NoSignedZerosFPMath

unsigned llvm::TargetOptions::NoSignedZerosFPMath

NoSignedZerosFPMath - This flag is enabled when the -enable-no-signed-zeros-fp-math is specified on the command line.

This specifies that optimizations are allowed to treat the sign of a zero argument or result as insignificant.

Definition at line 178 of file TargetOptions.h.

Referenced by combineFMinFMax(), combineSelect(), foldFPToIntToFP(), llvm::PPCTargetLowering::getNegatedExpression(), llvm::TargetLowering::getNegatedExpression(), llvm::codegen::InitTargetOptionsFromCodeGenFlags(), and isLegalToCombineMinNumMaxNum().

◆ NoTrapAfterNoreturn

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 264 of file TargetOptions.h.

Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(), and llvm::X86TargetMachine::X86TargetMachine().

◆ NoTrappingFPMath

unsigned llvm::TargetOptions::NoTrappingFPMath

NoTrappingFPMath - This flag is enabled when the -enable-no-trapping-fp-math is specified on the command line.

This specifies that there are no trap handlers to handle exceptions.

Definition at line 172 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ NoZerosInBSS

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 199 of file TargetOptions.h.

Referenced by llvm::TargetLoweringObjectFile::getKindForGlobal(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ PseudoProbeForProfiling

unsigned llvm::TargetOptions::PseudoProbeForProfiling

Emit pseudo probes into the binary for sample profiling.

Definition at line 317 of file TargetOptions.h.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ RelaxELFRelocations

unsigned llvm::TargetOptions::RelaxELFRelocations

◆ StackAlignmentOverride

unsigned llvm::TargetOptions::StackAlignmentOverride = 0

StackAlignmentOverride - Override default stack alignment for target.

Definition at line 210 of file TargetOptions.h.

Referenced by llvm::X86TargetMachine::getSubtargetImpl(), llvm::MipsTargetMachine::getSubtargetImpl(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ StackProtectorGuard

StackProtectorGuards llvm::TargetOptions::StackProtectorGuard
Initial value:

Stack protector guard mode to use, e.g. tls, global.

Definition at line 334 of file TargetOptions.h.

Referenced by getStackGuard(), llvm::codegen::InitTargetOptionsFromCodeGenFlags(), and llvm::X86TargetLowering::insertSSPDeclarations().

◆ StackProtectorGuardOffset

int llvm::TargetOptions::StackProtectorGuardOffset = INT_MAX

Stack protector guard offset to use.

Definition at line 331 of file TargetOptions.h.

Referenced by llvm::X86TargetLowering::getIRStackGuard(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ StackProtectorGuardReg

std::string llvm::TargetOptions::StackProtectorGuardReg = "None"

Stack protector guard reg to use, e.g. usually fs or gs in X86.

Definition at line 338 of file TargetOptions.h.

Referenced by llvm::X86TargetLowering::getIRStackGuard(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ StackSymbolOrdering

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 216 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ SupportsDebugEntryValues

unsigned llvm::TargetOptions::SupportsDebugEntryValues

Set if the target supports the debug entry values by default.

Definition at line 306 of file TargetOptions.h.

Referenced by llvm::TargetMachine::setSupportsDebugEntryValues(), and ShouldEmitDebugEntryValues().

◆ SupportsDefaultOutlining

unsigned llvm::TargetOptions::SupportsDefaultOutlining

Set if the target supports default outlining behaviour.

Definition at line 289 of file TargetOptions.h.

Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetMachine::setSupportsDefaultOutlining().

◆ ThreadModel

ThreadModel::Model llvm::TargetOptions::ThreadModel = ThreadModel::POSIX

ThreadModel - This flag specifies the type of threading model to assume for things like atomics.

Definition at line 368 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ TLSSize

unsigned llvm::TargetOptions::TLSSize

Bit size of immediate TLS offsets (0 == use the default).

Definition at line 267 of file TargetOptions.h.

Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ TrapUnreachable

unsigned llvm::TargetOptions::TrapUnreachable

◆ UniqueBasicBlockSectionNames

unsigned llvm::TargetOptions::UniqueBasicBlockSectionNames

Use unique names for basic block sections.

Definition at line 257 of file TargetOptions.h.

Referenced by llvm::TargetMachine::getUniqueBasicBlockSectionNames(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ UniqueSectionNames

unsigned llvm::TargetOptions::UniqueSectionNames

◆ UnsafeFPMath

unsigned llvm::TargetOptions::UnsafeFPMath

UnsafeFPMath - This flag is enabled when the -enable-unsafe-fp-math flag is specified on the command line.

When this flag is off (the default), the code generator is not allowed to produce results that are "less precise" than IEEE allows. This includes use of X86 instructions like FSIN and FCOS instead of libcalls.

Definition at line 155 of file TargetOptions.h.

Referenced by llvm::NVPTXTargetLowering::allowUnsafeFPMath(), llvm::GCNTTIImpl::getArithmeticInstrCost(), HonorSignDependentRoundingFPMath(), llvm::codegen::InitTargetOptionsFromCodeGenFlags(), llvm::AArch64InstrInfo::isAssociativeAndCommutative(), isCombineInstrCandidateFP(), isFMAddSubOrFMSubAdd(), llvm::AArch64TargetLowering::isProfitableToHoist(), llvm::PPCTargetLowering::isProfitableToHoist(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV64(), and llvm::NVPTXTargetLowering::usePrecSqrtF32().

◆ UseInitArray

unsigned llvm::TargetOptions::UseInitArray

UseInitArray - Use .init_array instead of .ctors for static constructors.

Definition at line 232 of file TargetOptions.h.

Referenced by llvm::TargetLoweringObjectFileELF::Initialize(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ ValueTrackingVariableLocations

unsigned llvm::TargetOptions::ValueTrackingVariableLocations

Definition at line 322 of file TargetOptions.h.

Referenced by llvm::codegen::InitTargetOptionsFromCodeGenFlags().

◆ XCOFFTracebackTable

unsigned llvm::TargetOptions::XCOFFTracebackTable

◆ XRayOmitFunctionIndex

unsigned llvm::TargetOptions::XRayOmitFunctionIndex

Emit XRay Function Index section.

Definition at line 328 of file TargetOptions.h.

Referenced by llvm::AsmPrinter::emitXRayTable(), and llvm::codegen::InitTargetOptionsFromCodeGenFlags().


The documentation for this class was generated from the following files:
llvm::StackProtectorGuards::None
@ None