Changeset View
Changeset View
Standalone View
Standalone View
include/llvm/Target/TargetOptions.h
Show First 20 Lines • Show All 52 Lines • ▼ Show 20 Lines | namespace llvm { | ||||
namespace ThreadModel { | namespace ThreadModel { | ||||
enum Model { | enum Model { | ||||
POSIX, // POSIX Threads | POSIX, // POSIX Threads | ||||
Single // Single Threaded Environment | Single // Single Threaded Environment | ||||
}; | }; | ||||
} | } | ||||
enum class DebuggerKind { | |||||
Default, // No specific tuning. | |||||
GDB, // Tune debug info for gdb. | |||||
LLDB, // Tune debug info for lldb. | |||||
SCE // Tune debug info for SCE targets (e.g. PS4). | |||||
}; | |||||
class TargetOptions { | class TargetOptions { | ||||
public: | public: | ||||
TargetOptions() | TargetOptions() | ||||
: PrintMachineCode(false), | : PrintMachineCode(false), | ||||
LessPreciseFPMADOption(false), UnsafeFPMath(false), | LessPreciseFPMADOption(false), UnsafeFPMath(false), | ||||
NoInfsFPMath(false), NoNaNsFPMath(false), | NoInfsFPMath(false), NoNaNsFPMath(false), | ||||
HonorSignDependentRoundingFPMathOption(false), | HonorSignDependentRoundingFPMathOption(false), | ||||
NoZerosInBSS(false), | NoZerosInBSS(false), | ||||
GuaranteedTailCallOpt(false), | GuaranteedTailCallOpt(false), | ||||
DisableTailCalls(false), StackAlignmentOverride(0), | DisableTailCalls(false), StackAlignmentOverride(0), | ||||
EnableFastISel(false), PositionIndependentExecutable(false), | EnableFastISel(false), PositionIndependentExecutable(false), | ||||
UseInitArray(false), DisableIntegratedAS(false), | UseInitArray(false), DisableIntegratedAS(false), | ||||
CompressDebugSections(false), FunctionSections(false), | CompressDebugSections(false), FunctionSections(false), | ||||
DataSections(false), UniqueSectionNames(true), TrapUnreachable(false), | DataSections(false), UniqueSectionNames(true), TrapUnreachable(false), | ||||
TrapFuncName(), FloatABIType(FloatABI::Default), | TrapFuncName(), FloatABIType(FloatABI::Default), | ||||
AllowFPOpFusion(FPOpFusion::Standard), Reciprocals(TargetRecip()), | AllowFPOpFusion(FPOpFusion::Standard), Reciprocals(TargetRecip()), | ||||
JTType(JumpTable::Single), | JTType(JumpTable::Single), | ||||
ThreadModel(ThreadModel::POSIX) {} | ThreadModel(ThreadModel::POSIX), | ||||
DebuggerTuning(DebuggerKind::Default) {} | |||||
/// PrintMachineCode - This flag is enabled when the -print-machineinstrs | /// PrintMachineCode - This flag is enabled when the -print-machineinstrs | ||||
/// option is specified on the command line, and should enable debugging | /// option is specified on the command line, and should enable debugging | ||||
/// output from the code generator. | /// output from the code generator. | ||||
unsigned PrintMachineCode : 1; | unsigned PrintMachineCode : 1; | ||||
/// DisableFramePointerElim - This returns true if frame pointer elimination | /// DisableFramePointerElim - This returns true if frame pointer elimination | ||||
/// optimization should be disabled for the given machine function. | /// optimization should be disabled for the given machine function. | ||||
▲ Show 20 Lines • Show All 127 Lines • ▼ Show 20 Lines | public: | ||||
/// JTType - This flag specifies the type of jump-instruction table to | /// JTType - This flag specifies the type of jump-instruction table to | ||||
/// create for functions that have the jumptable attribute. | /// create for functions that have the jumptable attribute. | ||||
JumpTable::JumpTableType JTType; | JumpTable::JumpTableType JTType; | ||||
/// ThreadModel - This flag specifies the type of threading model to assume | /// ThreadModel - This flag specifies the type of threading model to assume | ||||
/// for things like atomics | /// for things like atomics | ||||
ThreadModel::Model ThreadModel; | ThreadModel::Model ThreadModel; | ||||
/// Which debugger are we expecting to consume the debug info? | |||||
DebuggerKind DebuggerTuning; | |||||
/// Machine level options. | /// Machine level options. | ||||
MCTargetOptions MCOptions; | MCTargetOptions MCOptions; | ||||
}; | }; | ||||
// Comparison operators: | // Comparison operators: | ||||
inline bool operator==(const TargetOptions &LHS, | inline bool operator==(const TargetOptions &LHS, | ||||
Show All 33 Lines |