LLVM 20.0.0git
|
#include "llvm/Target/TargetOptions.h"
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. | |
bool | FramePointerIsReserved (const MachineFunction &MF) const |
FramePointerIsReserved - This returns true if the frame pointer must always either point to a new frame record or be un-modified in the given function. | |
bool | HonorSignDependentRoundingFPMath () const |
HonorSignDependentRoundingFPMath - Return true if the codegen must assume that the rounding mode of the FPU can change from its default. | |
bool | ShouldEmitDebugEntryValues () const |
NOTE: There are targets that still do not support the debug entry values production. | |
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, int > | BinutilsVersion {0, 0} |
If greater than 0, override the default value of MCAsmInfo::BinutilsVersion. | |
unsigned | UnsafeFPMath: 1 |
UnsafeFPMath - This flag is enabled when the -enable-unsafe-fp-math flag is specified on the command line. | |
unsigned | NoInfsFPMath: 1 |
NoInfsFPMath - This flag is enabled when the -enable-no-infs-fp-math flag is specified on the command line. | |
unsigned | NoNaNsFPMath: 1 |
NoNaNsFPMath - This flag is enabled when the -enable-no-nans-fp-math flag is specified on the command line. | |
unsigned | NoTrappingFPMath: 1 |
NoTrappingFPMath - This flag is enabled when the -enable-no-trapping-fp-math is specified on the command line. | |
unsigned | NoSignedZerosFPMath: 1 |
NoSignedZerosFPMath - This flag is enabled when the -enable-no-signed-zeros-fp-math is specified on the command line. | |
unsigned | ApproxFuncFPMath: 1 |
ApproxFuncFPMath - This flag is enabled when the -enable-approx-func-fp-math is specified on the command line. | |
unsigned | EnableAIXExtendedAltivecABI: 1 |
EnableAIXExtendedAltivecABI - This flag returns true when -vec-extabi is specified. | |
unsigned | HonorSignDependentRoundingFPMathOption: 1 |
HonorSignDependentRoundingFPMath - This returns true when the -enable-sign-dependent-rounding-fp-math is specified. | |
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 | DisableIntegratedAS: 1 |
Disable the integrated assembler. | |
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 | SupportsDefaultOutlining: 1 |
Set if the target supports default outlining behaviour. | |
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 | EmitCallSiteInfo: 1 |
The flag enables call site info production. | |
unsigned | SupportsDebugEntryValues: 1 |
Set if the target supports the debug entry values by default. | |
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 | PPCGenScalarMASSEntries: 1 |
Enables scalar MASS conversions. | |
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 | StackUsageOutput |
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. | |
FloatABI::ABIType | FloatABIType = FloatABI::Default |
FloatABIType - This setting is set by -float-abi=xxx option is specfied on the command line. | |
FPOpFusion::FPOpFusionMode | AllowFPOpFusion = FPOpFusion::Standard |
AllowFPOpFusion - This flag is set by the -fp-contract=xxx option. | |
ThreadModel::Model | ThreadModel = ThreadModel::POSIX |
ThreadModel - This flag specifies the type of threading model to assume for things like atomics. | |
EABI | EABIVersion = EABI::Default |
EABIVersion - This flag specifies the EABI version. | |
DebuggerKind | DebuggerTuning = DebuggerKind::Default |
Which debugger to tune for. | |
ExceptionHandling | ExceptionModel = ExceptionHandling::None |
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 132 of file TargetOptions.h.
|
inline |
Definition at line 134 of file TargetOptions.h.
bool TargetOptions::DisableFramePointerElim | ( | const MachineFunction & | MF | ) | const |
DisableFramePointerElim - This returns true if frame pointer elimination optimization should be disabled for the given machine function.
Definition at line 24 of file TargetOptionsImpl.cpp.
References F, FP, llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFrameInfo::hasCalls(), and llvm_unreachable.
Referenced by llvm::ARMFrameLowering::assignCalleeSavedSpillSlots(), llvm::AArch64RegisterInfo::cannotEliminateFrame(), llvm::ARMBaseRegisterInfo::cannotEliminateFrame(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::hasFPImpl(), llvm::SIFrameLowering::hasFPImpl(), llvm::ARCFrameLowering::hasFPImpl(), llvm::ARMFrameLowering::hasFPImpl(), llvm::CSKYFrameLowering::hasFPImpl(), llvm::LoongArchFrameLowering::hasFPImpl(), llvm::M68kFrameLowering::hasFPImpl(), llvm::MipsFrameLowering::hasFPImpl(), llvm::MSP430FrameLowering::hasFPImpl(), llvm::RISCVFrameLowering::hasFPImpl(), llvm::SparcFrameLowering::hasFPImpl(), llvm::SystemZELFFrameLowering::hasFPImpl(), llvm::VEFrameLowering::hasFPImpl(), llvm::X86FrameLowering::hasFPImpl(), llvm::XCoreFrameLowering::hasFPImpl(), llvm::XtensaFrameLowering::hasFPImpl(), llvm::RISCVMachineFunctionInfo::isPushable(), llvm::PPCFrameLowering::needsFP(), and llvm::DwarfCompileUnit::updateSubprogramScopeDIE().
bool TargetOptions::FramePointerIsReserved | ( | const MachineFunction & | MF | ) | const |
FramePointerIsReserved - This returns true if the frame pointer must always either point to a new frame record or be un-modified in the given function.
Definition at line 39 of file TargetOptionsImpl.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Cases(), F, FP, and llvm::MachineFunction::getFunction().
Referenced by llvm::ARMSubtarget::getPushPopSplitVariation(), and llvm::ARMFrameLowering::isFPReserved().
DenormalMode llvm::TargetOptions::getDenormalMode | ( | const fltSemantics & | FPType | ) | const |
|
inline |
Definition at line 453 of file TargetOptions.h.
|
inline |
Definition at line 449 of file TargetOptions.h.
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 53 of file TargetOptionsImpl.cpp.
References HonorSignDependentRoundingFPMathOption, and UnsafeFPMath.
|
inline |
Definition at line 445 of file TargetOptions.h.
References Mode.
|
inline |
Definition at line 441 of file TargetOptions.h.
References Mode.
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 62 of file TargetOptionsImpl.cpp.
References DebuggerTuning, EnableDebugEntryValues, llvm::SCE, and SupportsDebugEntryValues.
Referenced by llvm::DwarfDebug::DwarfDebug().
FPOpFusion::FPOpFusionMode llvm::TargetOptions::AllowFPOpFusion = FPOpFusion::Standard |
AllowFPOpFusion - This flag is set by the -fp-contract=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 420 of file TargetOptions.h.
Referenced by llvm::NVPTXTargetLowering::allowFMA(), and combineFaddCFmul().
unsigned llvm::TargetOptions::ApproxFuncFPMath |
ApproxFuncFPMath - This flag is enabled when the -enable-approx-func-fp-math is specified on the command line.
This specifies that optimizations are allowed to substitute math functions with approximate calculations
Definition at line 205 of file TargetOptions.h.
unsigned llvm::TargetOptions::BBAddrMap |
Definition at line 323 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addMachinePasses(), llvm::AsmPrinter::emitFunctionBody(), and llvm::AsmPrinter::SetupMachineFunction().
BasicBlockSection llvm::TargetOptions::BBSections = BasicBlockSection::None |
Emit basic blocks into separate sections.
Definition at line 326 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getBBSectionsType().
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 330 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getBBSectionsFuncListBuf().
std::pair<int, int> llvm::TargetOptions::BinutilsVersion {0, 0} |
If greater than 0, override the default value of MCAsmInfo::BinutilsVersion.
Definition at line 169 of file TargetOptions.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
unsigned llvm::TargetOptions::DataSections |
Emit data into separate sections.
Definition at line 270 of file TargetOptions.h.
Referenced by llvm::computeLTOCacheKey(), llvm::TargetMachine::getDataSections(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
DebuggerKind llvm::TargetOptions::DebuggerTuning = DebuggerKind::Default |
Which debugger to tune for.
Definition at line 430 of file TargetOptions.h.
Referenced by llvm::computeLTOCacheKey(), llvm::DwarfDebug::DwarfDebug(), and ShouldEmitDebugEntryValues().
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 360 of file TargetOptions.h.
Referenced by llvm::DwarfUnit::addAttribute(), and llvm::DwarfUnit::constructTypeDIE().
unsigned llvm::TargetOptions::DisableIntegratedAS |
Disable the integrated assembler.
Definition at line 264 of file TargetOptions.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
EABI llvm::TargetOptions::EABIVersion = EABI::Default |
EABIVersion - This flag specifies the EABI version.
Definition at line 427 of file TargetOptions.h.
Referenced by llvm::ARMBaseTargetMachine::ARMBaseTargetMachine().
unsigned llvm::TargetOptions::EmitAddrsig |
Emit address-significance table.
Definition at line 319 of file TargetOptions.h.
Referenced by llvm::AsmPrinter::doFinalization().
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 335 of file TargetOptions.h.
Referenced by llvm::ScheduleDAGSDNodes::EmitSchedule().
unsigned llvm::TargetOptions::EmitStackSizeSection |
Emit section containing metadata on function stack sizes.
Definition at line 307 of file TargetOptions.h.
Referenced by llvm::AsmPrinter::emitStackSizeSection(), and llvm::AsmPrinter::SetupMachineFunction().
unsigned llvm::TargetOptions::EmulatedTLS |
EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library.
Definition at line 298 of file TargetOptions.h.
Referenced by llvm::orc::irManglingOptionsFromTargetOptions(), llvm::orc::JITTargetMachineBuilder::JITTargetMachineBuilder(), and llvm::TargetMachine::useEmulatedTLS().
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 registers. When false, the code generator only uses volatile vector registers which is the default setting on AIX.
Definition at line 211 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getAIXExtendedAltivecABI().
unsigned llvm::TargetOptions::EnableCFIFixup |
Enable the CFIFixup pass.
Definition at line 372 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetMachine::setCFIFixup().
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 342 of file TargetOptions.h.
Referenced by ShouldEmitDebugEntryValues().
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 245 of file TargetOptions.h.
Referenced by LLVMCreateMCJITCompilerForModule(), llvm::OptLevelChanger::OptLevelChanger(), promoteToConstantPool(), llvm::TargetMachine::setFastISel(), and llvm::ARMSubtarget::useFastISel().
unsigned llvm::TargetOptions::EnableGlobalISel |
EnableGlobalISel - This flag enables global instruction selection.
Definition at line 248 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addCoreISelPasses(), and llvm::TargetMachine::setGlobalISel().
unsigned llvm::TargetOptions::EnableIPRA |
This flag enables InterProcedural Register Allocation (IPRA).
Definition at line 304 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addMachinePasses(), llvm::TargetFrameLowering::determineCalleeSaves(), and llvm::TargetPassConfig::TargetPassConfig().
unsigned llvm::TargetOptions::EnableMachineFunctionSplitter |
Enables the MachineFunctionSplitter pass.
Definition at line 313 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addMachinePasses().
unsigned llvm::TargetOptions::EnableMachineOutliner |
Enables the MachineOutliner pass.
Definition at line 310 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetMachine::setMachineOutliner().
unsigned llvm::TargetOptions::EnableTLSDESC |
EnableTLSDESC - This flag enables TLS Descriptors.
Definition at line 301 of file TargetOptions.h.
Referenced by llvm::TargetMachine::useTLSDESC().
ExceptionHandling llvm::TargetOptions::ExceptionModel = ExceptionHandling::None |
What exception model to use.
Definition at line 460 of file TargetOptions.h.
Referenced by llvm::CodeGenTargetMachineImpl::initAsmInfo().
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 402 of file TargetOptions.h.
Referenced by llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(), and llvm::CSKYSubtarget::useHardFloatABI().
unsigned llvm::TargetOptions::ForceDwarfFrameSection |
Emit DWARF debug frame section.
Definition at line 353 of file TargetOptions.h.
Referenced by llvm::DwarfCFIException::beginBasicBlockSection(), llvm::AsmPrinter::getFunctionCFISectionType(), and llvm::MachineFunction::needsFrameMoves().
unsigned llvm::TargetOptions::FunctionSections |
Emit functions into separate sections.
Definition at line 267 of file TargetOptions.h.
Referenced by llvm::computeLTOCacheKey(), llvm::TargetMachine::getFunctionSections(), 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 252 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::isGlobalISelAbortEnabled(), llvm::TargetPassConfig::reportDiagnosticWhenGlobalISelFallback(), llvm::TargetMachine::setGlobalISelAbort(), and llvm::TargetPassConfig::TargetPassConfig().
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 234 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::SITargetLowering::LowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::AArch64CallLowering::lowerFormalArguments(), llvm::AMDGPUCallLowering::lowerTailCall(), llvm::PPCFrameLowering::needsFP(), and llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized().
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 220 of file TargetOptions.h.
Referenced by HonorSignDependentRoundingFPMath().
unsigned llvm::TargetOptions::Hotpatch |
Emit the hotpatch flag in CodeView debug.
Definition at line 363 of file TargetOptions.h.
unsigned llvm::TargetOptions::IgnoreXCOFFVisibility |
Do not emit visibility attribute for xcoff.
Definition at line 273 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getIgnoreXCOFFVisibility().
unsigned llvm::TargetOptions::JMCInstrument |
Enable JustMyCode instrumentation.
Definition at line 369 of file TargetOptions.h.
unsigned llvm::TargetOptions::LoopAlignment = 0 |
If greater than 0, override TargetLoweringBase::PrefLoopAlignment.
Definition at line 394 of file TargetOptions.h.
Referenced by llvm::TargetLoweringBase::getPrefLoopAlignment().
MCTargetOptions llvm::TargetOptions::MCOptions |
Machine level options.
Definition at line 463 of file TargetOptions.h.
Referenced by llvm::DwarfDebug::addDwarfTypeUnitType(), llvm::CodeGenTargetMachineImpl::addPassesToEmitMC(), llvm::computeLTOCacheKey(), llvm::CodeGenTargetMachineImpl::createMCStreamer(), llvm::AsmPrinter::doInitialization(), llvm::DwarfDebug::DwarfDebug(), llvm::X86AsmPrinter::emitInstruction(), llvm::LoongArchTargetMachine::getSubtargetImpl(), llvm::RISCVTargetMachine::getSubtargetImpl(), llvm::CodeGenTargetMachineImpl::initAsmInfo(), and LLVMCreateTargetMachineWithOptions().
unsigned llvm::TargetOptions::MisExpect |
When set to true, enable MisExpect Diagnostics By default, it is set to false.
Definition at line 376 of file TargetOptions.h.
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 182 of file TargetOptions.h.
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 188 of file TargetOptions.h.
Referenced by combineFMinFMax(), combineFMinNumFMaxNum(), llvm::SelectionDAGBuilder::EmitBranchForMergedCondition(), and LowerFMINIMUM_FMAXIMUM().
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 199 of file TargetOptions.h.
Referenced by combineFaddCFmul(), combineFMinFMax(), combineSelect(), foldFPToIntToFP(), and LowerFMINIMUM_FMAXIMUM().
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 291 of file TargetOptions.h.
Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(), llvm::CodeGenTargetMachineImpl::CodeGenTargetMachineImpl(), llvm::FastISel::selectOperator(), llvm::SelectionDAGBuilder::visitSPDescriptorFailure(), llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine(), and llvm::X86TargetMachine::X86TargetMachine().
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 193 of file TargetOptions.h.
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 226 of file TargetOptions.h.
Referenced by llvm::TargetLoweringObjectFile::getKindForGlobal().
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 468 of file TargetOptions.h.
unsigned llvm::TargetOptions::PPCGenScalarMASSEntries |
Enables scalar MASS conversions.
Definition at line 366 of file TargetOptions.h.
unsigned llvm::TargetOptions::SeparateNamedSections |
Emit named sections with the same name into different sections.
Definition at line 284 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getSeparateNamedSections().
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 240 of file TargetOptions.h.
std::string llvm::TargetOptions::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 391 of file TargetOptions.h.
Referenced by llvm::AsmPrinter::emitStackUsage().
unsigned llvm::TargetOptions::SupportsDebugEntryValues |
Set if the target supports the debug entry values by default.
Definition at line 337 of file TargetOptions.h.
Referenced by llvm::TargetMachine::setSupportsDebugEntryValues(), and ShouldEmitDebugEntryValues().
unsigned llvm::TargetOptions::SupportsDefaultOutlining |
Set if the target supports default outlining behaviour.
Definition at line 316 of file TargetOptions.h.
Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetMachine::setSupportsDefaultOutlining().
SwiftAsyncFramePointerMode llvm::TargetOptions::SwiftAsyncFramePointer |
Control when and how the Swift async frame pointer bit should be set.
Definition at line 256 of file TargetOptions.h.
Referenced by llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitPrologue(), and llvm::X86FrameLowering::emitPrologue().
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 424 of file TargetOptions.h.
Referenced by llvm::BasicTTIImplBase< T >::isSingleThreaded().
unsigned llvm::TargetOptions::TLSSize |
Bit size of immediate TLS offsets (0 == use the default).
Definition at line 294 of file TargetOptions.h.
Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine().
unsigned llvm::TargetOptions::TrapUnreachable |
Emit target-specific trap instruction for 'unreachable' IR instructions.
Definition at line 287 of file TargetOptions.h.
Referenced by llvm::AArch64TargetMachine::AArch64TargetMachine(), llvm::ARMBaseTargetMachine::ARMBaseTargetMachine(), llvm::CodeGenTargetMachineImpl::CodeGenTargetMachineImpl(), llvm::SelectionDAGBuilder::LowerDeoptimizingReturn(), llvm::FastISel::selectOperator(), llvm::SelectionDAGBuilder::visitSPDescriptorFailure(), llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine(), and llvm::X86TargetMachine::X86TargetMachine().
unsigned llvm::TargetOptions::UniqueBasicBlockSectionNames |
Use unique names for basic block sections.
Definition at line 281 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getUniqueBasicBlockSectionNames().
unsigned llvm::TargetOptions::UniqueSectionNames |
Definition at line 278 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getUniqueSectionNames(), and llvm::WebAssemblyTargetMachine::WebAssemblyTargetMachine().
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 176 of file TargetOptions.h.
Referenced by llvm::NVPTXTargetLowering::allowUnsafeFPMath(), llvm::GCNTTIImpl::getArithmeticInstrCost(), HonorSignDependentRoundingFPMath(), llvm::AArch64InstrInfo::isAssociativeAndCommutative(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV64(), llvm::LegalizerHelper::lowerFPTRUNC_F64_TO_F16(), and llvm::NVPTXTargetLowering::usePrecSqrtF32().
unsigned llvm::TargetOptions::UseInitArray |
UseInitArray - Use .init_array instead of .ctors for static constructors.
Definition at line 261 of file TargetOptions.h.
Referenced by llvm::AsmPrinter::emitXXStructorList(), llvm::TargetLoweringObjectFileELF::Initialize(), and llvm::orc::JITTargetMachineBuilder::JITTargetMachineBuilder().
unsigned llvm::TargetOptions::ValueTrackingVariableLocations |
Definition at line 350 of file TargetOptions.h.
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 386 of file TargetOptions.h.
unsigned llvm::TargetOptions::XCOFFReadOnlyPointers |
When set to true, const objects with relocatable address values are put into the RO data section.
Definition at line 380 of file TargetOptions.h.
Referenced by llvm::TargetLoweringObjectFileXCOFF::getExplicitSectionGlobal(), and llvm::TargetLoweringObjectFileXCOFF::SelectSectionForGlobal().
unsigned llvm::TargetOptions::XCOFFTracebackTable |
Emit XCOFF traceback table.
Definition at line 276 of file TargetOptions.h.
Referenced by llvm::TargetMachine::getXCOFFTracebackTable().
unsigned llvm::TargetOptions::XRayFunctionIndex |
Emit XRay Function Index section.
Definition at line 356 of file TargetOptions.h.
Referenced by llvm::AsmPrinter::emitXRayTable().