15 #ifndef LLVM_TARGET_TARGETOPTIONS_H
16 #define LLVM_TARGET_TARGETOPTIONS_H
21 class MachineFunction;
32 namespace FPOpFusion {
51 namespace ThreadModel {
58 namespace FPDenormal {
280 #define ARE_EQUAL(X) LHS.X == RHS.X
286 ARE_EQUAL(HonorSignDependentRoundingFPMathOption) &&
308 return !(LHS == RHS);
unsigned StackSymbolOrdering
StackSymbolOrdering - When true, this will allow CodeGen to order the local stack symbols (for code s...
unsigned NoTrappingFPMath
NoTrappingFPMath - This flag is enabled when the -enable-no-trapping-fp-math is specified on the comm...
unsigned PrintMachineCode
PrintMachineCode - This flag is enabled when the -print-machineinstrs option is specified on the comm...
MCTargetOptions MCOptions
Machine level options.
unsigned EnableFastISel
EnableFastISel - This flag enables fast-path instruction selection which trades away generated code q...
EABI EABIVersion
EABIVersion - This flag specifies the EABI version.
unsigned DataSections
Emit data into separate sections.
ThreadModel::Model ThreadModel
ThreadModel - This flag specifies the type of threading model to assume for things like atomics...
DebuggerKind
Identify a debugger for "tuning" the debug info.
unsigned DisableIntegratedAS
Disable the integrated assembler.
unsigned EnableIPRA
This flag enables InterProcedural Register Allocation (IPRA).
bool HonorSignDependentRoundingFPMath() const
HonorSignDependentRoundingFPMath - Return true if the codegen must assume that the rounding mode of t...
bool DisableFramePointerElim(const MachineFunction &MF) const
DisableFramePointerElim - This returns true if frame pointer elimination optimization should be disab...
ExceptionHandling ExceptionModel
What exception model to use.
unsigned NoNaNsFPMath
NoNaNsFPMath - This flag is enabled when the -enable-no-nans-fp-math flag is specified on the command...
Function Alias Analysis false
unsigned FunctionSections
Emit functions into separate sections.
cl::opt< llvm::ExceptionHandling > ExceptionModel("exception-model", cl::desc("exception model"), cl::init(ExceptionHandling::None), cl::values(clEnumValN(ExceptionHandling::None,"default","default exception handling model"), clEnumValN(ExceptionHandling::DwarfCFI,"dwarf","DWARF-like CFI based exception handling"), clEnumValN(ExceptionHandling::SjLj,"sjlj","SjLj exception handling"), clEnumValN(ExceptionHandling::ARM,"arm","ARM EHABI exceptions"), clEnumValN(ExceptionHandling::WinEH,"wineh","Windows exception model")))
unsigned UniqueSectionNames
DebuggerKind DebuggerTuning
Which debugger to tune for.
unsigned UnsafeFPMath
UnsafeFPMath - This flag is enabled when the -enable-unsafe-fp-math flag is specified on the command ...
FPOpFusion::FPOpFusionMode AllowFPOpFusion
AllowFPOpFusion - This flag is set by the -fuse-fp-ops=xxx option.
unsigned GuaranteedTailCallOpt
GuaranteedTailCallOpt - This flag is enabled when -tailcallopt is specified on the commandline...
unsigned NoInfsFPMath
NoInfsFPMath - This flag is enabled when the -enable-no-infs-fp-math flag is specified on the command...
FPDenormal::DenormalMode FPDenormalMode
FPDenormalMode - This flags specificies which denormal numbers the code is permitted to require...
unsigned NoZerosInBSS
NoZerosInBSS - By default some codegens place zero-initialized data to .bss section.
unsigned CompressDebugSections
Compress DWARF debug sections.
unsigned UseInitArray
UseInitArray - Use .init_array instead of .ctors for static constructors.
unsigned StackAlignmentOverride
StackAlignmentOverride - Override default stack alignment for target.
cl::opt< bool > EnableIPRA("enable-ipra", cl::init(false), cl::Hidden, cl::desc("Enable interprocedural register allocation ""to reduce load/store at procedure calls."))
unsigned EmulatedTLS
EmulatedTLS - This flag enables emulated TLS model, using emutls function in the runtime library...
cl::opt< llvm::EABI > EABIVersion("meabi", cl::desc("Set EABI type (default depends on triple):"), cl::init(EABI::Default), cl::values(clEnumValN(EABI::Default,"default","Triple default EABI version"), clEnumValN(EABI::EABI4,"4","EABI version 4"), clEnumValN(EABI::EABI5,"5","EABI version 5"), clEnumValN(EABI::GNU,"gnu","EABI GNU")))
unsigned RelaxELFRelocations
bool operator!=(uint64_t V1, const APInt &V2)
bool LessPreciseFPMAD() const
LessPreciseFPMAD - This flag return true when -enable-fp-mad option is specified on the command line...
unsigned HonorSignDependentRoundingFPMathOption
HonorSignDependentRoundingFPMath - This returns true when the -enable-sign-dependent-rounding-fp-math...
unsigned TrapUnreachable
Emit target-specific trap instruction for 'unreachable' IR instructions.
unsigned LessPreciseFPMADOption
LessPreciseFPMAD - This flag is enabled when the -enable-fp-mad is specified on the command line...
bool operator==(uint64_t V1, const APInt &V2)
cl::opt< bool > EmulatedTLS("emulated-tls", cl::desc("Use emulated TLS model"), cl::init(false))
FloatABI::ABIType FloatABIType
FloatABIType - This setting is set by -float-abi=xxx option is specfied on the command line...