LLVM  4.0.0
Public Types | Public Member Functions | Protected Attributes | List of all members
llvm::AMDGPUSubtarget Class Referenceabstract

#include <AMDGPUSubtarget.h>

Inheritance diagram for llvm::AMDGPUSubtarget:
[legend]
Collaboration diagram for llvm::AMDGPUSubtarget:
[legend]

Public Types

enum  Generation {
  R600 = 0, R700, EVERGREEN, NORTHERN_ISLANDS,
  SOUTHERN_ISLANDS, SEA_ISLANDS, VOLCANIC_ISLANDS
}
 
enum  {
  ISAVersion0_0_0, ISAVersion7_0_0, ISAVersion7_0_1, ISAVersion7_0_2,
  ISAVersion8_0_0, ISAVersion8_0_1, ISAVersion8_0_2, ISAVersion8_0_3,
  ISAVersion8_0_4, ISAVersion8_1_0
}
 

Public Member Functions

 AMDGPUSubtarget (const Triple &TT, StringRef GPU, StringRef FS, const TargetMachine &TM)
 
 ~AMDGPUSubtarget () override
 
AMDGPUSubtargetinitializeSubtargetDependencies (const Triple &TT, StringRef GPU, StringRef FS)
 
const AMDGPUInstrInfogetInstrInfo () const override=0
 
const AMDGPUFrameLoweringgetFrameLowering () const override=0
 
const AMDGPUTargetLoweringgetTargetLowering () const override=0
 
const AMDGPURegisterInfogetRegisterInfo () const override=0
 
const InstrItineraryDatagetInstrItineraryData () const override
 
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
 
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
 
bool isAmdHsaOS () const
 
bool isMesa3DOS () const
 
bool isOpenCLEnv () const
 
Generation getGeneration () const
 
unsigned getWavefrontSize () const
 
int getLocalMemorySize () const
 
int getLDSBankCount () const
 
unsigned getMaxPrivateElementSize () const
 
bool has16BitInsts () const
 
bool hasHWFP64 () const
 
bool hasFastFMAF32 () const
 
bool hasHalfRate64Ops () const
 
bool hasAddr64 () const
 
bool hasBFE () const
 
bool hasBFI () const
 
bool hasBFM () const
 
bool hasBCNT (unsigned Size) const
 
bool hasMulU24 () const
 
bool hasMulI24 () const
 
bool hasFFBL () const
 
bool hasFFBH () const
 
bool hasCARRY () const
 
bool hasBORROW () const
 
bool hasCaymanISA () const
 
bool isPromoteAllocaEnabled () const
 
bool unsafeDSOffsetFoldingEnabled () const
 
bool dumpCode () const
 
bool enableIEEEBit (const MachineFunction &MF) const
 
unsigned getMaxLocalMemSizeWithWaveCount (unsigned WaveCount) const
 Return the amount of LDS that can be used that will not restrict the occupancy lower than WaveCount. More...
 
unsigned getOccupancyWithLocalMemSize (uint32_t Bytes) const
 Inverse of getMaxLocalMemWithWaveCount. More...
 
bool hasFP16Denormals () const
 
bool hasFP32Denormals () const
 
bool hasFP64Denormals () const
 
bool hasFPExceptions () const
 
bool useFlatForGlobal () const
 
bool hasUnalignedBufferAccess () const
 
bool hasUnalignedScratchAccess () const
 
bool isXNACKEnabled () const
 
bool isMesaKernel (const MachineFunction &MF) const
 
bool isMesaGfxShader (const MachineFunction &MF) const
 
bool isAmdCodeObjectV2 (const MachineFunction &MF) const
 
unsigned getExplicitKernelArgOffset (const MachineFunction &MF) const
 Returns the offset in bytes from the start of the input buffer of the first explicit kernel argument. More...
 
unsigned getAlignmentForImplicitArgPtr () const
 
unsigned getImplicitArgNumBytes (const MachineFunction &MF) const
 
unsigned getStackAlignment () const
 
bool enableMachineScheduler () const override
 
bool enableSubRegLiveness () const override
 
unsigned getEUsPerCU () const
 
unsigned getMaxWorkGroupsPerCU (unsigned FlatWorkGroupSize) const
 
unsigned getMaxWavesPerCU () const
 
unsigned getMaxWavesPerCU (unsigned FlatWorkGroupSize) const
 
unsigned getMinWavesPerEU () const
 
unsigned getMaxWavesPerEU () const
 
unsigned getMaxWavesPerEU (unsigned FlatWorkGroupSize) const
 
unsigned getMinFlatWorkGroupSize () const
 
unsigned getMaxFlatWorkGroupSize () const
 
unsigned getWavesPerWorkGroup (unsigned FlatWorkGroupSize) const
 
void setScalarizeGlobalBehavior (bool b)
 
bool getScalarizeGlobalBehavior () const
 
std::pair< unsigned, unsignedgetFlatWorkGroupSizes (const Function &F) const
 
std::pair< unsigned, unsignedgetWavesPerEU (const Function &F) const
 

Protected Attributes

Triple TargetTriple
 
Generation Gen
 
unsigned IsaVersion
 
unsigned WavefrontSize
 
int LocalMemorySize
 
int LDSBankCount
 
unsigned MaxPrivateElementSize
 
bool FastFMAF32
 
bool HalfRate64Ops
 
bool FP16Denormals
 
bool FP32Denormals
 
bool FP64Denormals
 
bool FPExceptions
 
bool FlatForGlobal
 
bool UnalignedScratchAccess
 
bool UnalignedBufferAccess
 
bool EnableXNACK
 
bool DebuggerInsertNops
 
bool DebuggerReserveRegs
 
bool DebuggerEmitPrologue
 
bool EnableVGPRSpilling
 
bool EnablePromoteAlloca
 
bool EnableLoadStoreOpt
 
bool EnableUnsafeDSOffsetFolding
 
bool EnableSIScheduler
 
bool DumpCode
 
bool FP64
 
bool IsGCN
 
bool GCN1Encoding
 
bool GCN3Encoding
 
bool CIInsts
 
bool SGPRInitBug
 
bool HasSMemRealTime
 
bool Has16BitInsts
 
bool HasMovrel
 
bool HasVGPRIndexMode
 
bool HasScalarStores
 
bool HasInv2PiInlineImm
 
bool FlatAddressSpace
 
bool R600ALUInst
 
bool CaymanISA
 
bool CFALUBug
 
bool HasVertexCache
 
short TexVTXClauseSize
 
bool ScalarizeGlobal
 
bool FeatureDisable
 
InstrItineraryData InstrItins
 
SelectionDAGTargetInfo TSInfo
 

Detailed Description

Definition at line 44 of file AMDGPUSubtarget.h.

Member Enumeration Documentation

anonymous enum
Enumerator
ISAVersion0_0_0 
ISAVersion7_0_0 
ISAVersion7_0_1 
ISAVersion7_0_2 
ISAVersion8_0_0 
ISAVersion8_0_1 
ISAVersion8_0_2 
ISAVersion8_0_3 
ISAVersion8_0_4 
ISAVersion8_1_0 

Definition at line 56 of file AMDGPUSubtarget.h.

Enumerator
R600 
R700 
EVERGREEN 
NORTHERN_ISLANDS 
SOUTHERN_ISLANDS 
SEA_ISLANDS 
VOLCANIC_ISLANDS 

Definition at line 46 of file AMDGPUSubtarget.h.

Constructor & Destructor Documentation

AMDGPUSubtarget::AMDGPUSubtarget ( const Triple TT,
StringRef  GPU,
StringRef  FS,
const TargetMachine TM 
)

Definition at line 74 of file AMDGPUSubtarget.cpp.

References initializeSubtargetDependencies().

AMDGPUSubtarget::~AMDGPUSubtarget ( )
overridedefault

Member Function Documentation

bool llvm::AMDGPUSubtarget::dumpCode ( ) const
inline
bool llvm::AMDGPUSubtarget::enableIEEEBit ( const MachineFunction MF) const
inline
bool llvm::AMDGPUSubtarget::enableMachineScheduler ( ) const
inlineoverride

Definition at line 350 of file AMDGPUSubtarget.h.

bool llvm::AMDGPUSubtarget::enableSubRegLiveness ( ) const
inlineoverride

Definition at line 354 of file AMDGPUSubtarget.h.

unsigned llvm::AMDGPUSubtarget::getAlignmentForImplicitArgPtr ( ) const
inline
unsigned llvm::AMDGPUSubtarget::getEUsPerCU ( ) const
inline
Returns
Number of execution units per compute unit supported by the subtarget.

Definition at line 360 of file AMDGPUSubtarget.h.

Referenced by getMaxWavesPerCU(), and getMaxWavesPerEU().

unsigned llvm::AMDGPUSubtarget::getExplicitKernelArgOffset ( const MachineFunction MF) const
inline

Returns the offset in bytes from the start of the input buffer of the first explicit kernel argument.

Definition at line 329 of file AMDGPUSubtarget.h.

References isAmdCodeObjectV2().

Referenced by llvm::R600TargetLowering::LowerFormalArguments(), and llvm::SITargetLowering::LowerFormalArguments().

std::pair< unsigned, unsigned > AMDGPUSubtarget::getFlatWorkGroupSizes ( const Function F) const
Returns
Subtarget's default pair of minimum/maximum flat work group sizes for function F, or minimum/maximum flat work group sizes explicitly requested using "amdgpu-flat-work-group-size" attribute attached to function F.
Subtarget's default values if explicitly requested values cannot be converted to integer, or violate subtarget's specifications.

Definition at line 192 of file AMDGPUSubtarget.cpp.

References llvm::Default, llvm::Function::getCallingConv(), llvm::AMDGPU::getIntegerAttribute(), llvm::AMDGPU::getIntegerPairAttribute(), getMaxFlatWorkGroupSize(), getMinFlatWorkGroupSize(), getWavefrontSize(), llvm::AMDGPU::isCompute(), and fuzzer::min().

Referenced by getWavesPerEU(), and PrivateMemoryInputPtr().

const AMDGPUFrameLowering* llvm::AMDGPUSubtarget::getFrameLowering ( ) const
overridepure virtual

Implemented in llvm::SISubtarget, and llvm::R600Subtarget.

Generation llvm::AMDGPUSubtarget::getGeneration ( ) const
inline
unsigned llvm::AMDGPUSubtarget::getImplicitArgNumBytes ( const MachineFunction MF) const
inline

Definition at line 337 of file AMDGPUSubtarget.h.

References isAmdHsaOS(), isMesaKernel(), and isOpenCLEnv().

Referenced by llvm::SISubtarget::getKernArgSegmentSize().

const AMDGPUInstrInfo* llvm::AMDGPUSubtarget::getInstrInfo ( ) const
overridepure virtual
const InstrItineraryData* llvm::AMDGPUSubtarget::getInstrItineraryData ( ) const
inlineoverride

Definition at line 144 of file AMDGPUSubtarget.h.

References InstrItins.

int llvm::AMDGPUSubtarget::getLDSBankCount ( ) const
inline

Definition at line 179 of file AMDGPUSubtarget.h.

References LDSBankCount.

int llvm::AMDGPUSubtarget::getLocalMemorySize ( ) const
inline

Definition at line 175 of file AMDGPUSubtarget.h.

References LocalMemorySize.

Referenced by getMaxLocalMemSizeWithWaveCount().

unsigned llvm::AMDGPUSubtarget::getMaxFlatWorkGroupSize ( ) const
inline
Returns
Maximum flat work group size supported by the subtarget.

Definition at line 412 of file AMDGPUSubtarget.h.

Referenced by getFlatWorkGroupSizes().

unsigned AMDGPUSubtarget::getMaxLocalMemSizeWithWaveCount ( unsigned  WaveCount) const

Return the amount of LDS that can be used that will not restrict the occupancy lower than WaveCount.

Definition at line 136 of file AMDGPUSubtarget.cpp.

References getLocalMemorySize().

unsigned llvm::AMDGPUSubtarget::getMaxPrivateElementSize ( ) const
inline
unsigned llvm::AMDGPUSubtarget::getMaxWavesPerCU ( ) const
inline
Returns
Maximum number of waves per compute unit supported by the subtarget without any kind of limitation.

Definition at line 374 of file AMDGPUSubtarget.h.

References getEUsPerCU(), and getMaxWavesPerEU().

Referenced by getMaxWavesPerEU().

unsigned llvm::AMDGPUSubtarget::getMaxWavesPerCU ( unsigned  FlatWorkGroupSize) const
inline
Returns
Maximum number of waves per compute unit supported by the subtarget and limited by given flat work group size.

Definition at line 380 of file AMDGPUSubtarget.h.

References getWavesPerWorkGroup().

unsigned llvm::AMDGPUSubtarget::getMaxWavesPerEU ( ) const
inline
Returns
Maximum number of waves per execution unit supported by the subtarget without any kind of limitation.

Definition at line 392 of file AMDGPUSubtarget.h.

References getGeneration(), and SOUTHERN_ISLANDS.

Referenced by getMaxWavesPerCU(), and getWavesPerEU().

unsigned llvm::AMDGPUSubtarget::getMaxWavesPerEU ( unsigned  FlatWorkGroupSize) const
inline
Returns
Maximum number of waves per execution unit supported by the subtarget and limited by given flat work group size.

Definition at line 401 of file AMDGPUSubtarget.h.

References llvm::alignTo(), getEUsPerCU(), and getMaxWavesPerCU().

unsigned llvm::AMDGPUSubtarget::getMaxWorkGroupsPerCU ( unsigned  FlatWorkGroupSize) const
inline
Returns
Maximum number of work groups per compute unit supported by the subtarget and limited by given flat work group size.

Definition at line 366 of file AMDGPUSubtarget.h.

References getGeneration(), getWavesPerWorkGroup(), and SOUTHERN_ISLANDS.

unsigned llvm::AMDGPUSubtarget::getMinFlatWorkGroupSize ( ) const
inline
Returns
Minimum flat work group size supported by the subtarget.

Definition at line 407 of file AMDGPUSubtarget.h.

Referenced by getFlatWorkGroupSizes().

unsigned llvm::AMDGPUSubtarget::getMinWavesPerEU ( ) const
inline
Returns
Minimum number of waves per execution unit supported by the subtarget.

Definition at line 386 of file AMDGPUSubtarget.h.

Referenced by getWavesPerEU().

unsigned AMDGPUSubtarget::getOccupancyWithLocalMemSize ( uint32_t  Bytes) const

Inverse of getMaxLocalMemWithWaveCount.

Return the maximum wavecount if the given LDS memory size is the only constraint.

Definition at line 161 of file AMDGPUSubtarget.cpp.

Referenced by getMaxWaves().

const AMDGPURegisterInfo* llvm::AMDGPUSubtarget::getRegisterInfo ( ) const
overridepure virtual
bool llvm::AMDGPUSubtarget::getScalarizeGlobalBehavior ( ) const
inline

Definition at line 422 of file AMDGPUSubtarget.h.

References ScalarizeGlobal.

const SelectionDAGTargetInfo* llvm::AMDGPUSubtarget::getSelectionDAGInfo ( ) const
inlineoverride

Definition at line 149 of file AMDGPUSubtarget.h.

References TSInfo.

unsigned llvm::AMDGPUSubtarget::getStackAlignment ( ) const
inline

Definition at line 345 of file AMDGPUSubtarget.h.

References getWavefrontSize().

const AMDGPUTargetLowering* llvm::AMDGPUSubtarget::getTargetLowering ( ) const
overridepure virtual

Implemented in llvm::SISubtarget, and llvm::R600Subtarget.

unsigned llvm::AMDGPUSubtarget::getWavefrontSize ( ) const
inline
std::pair< unsigned, unsigned > AMDGPUSubtarget::getWavesPerEU ( const Function F) const
Returns
Subtarget's default pair of minimum/maximum number of waves per execution unit for function F, or minimum/maximum number of waves per execution unit explicitly requested using "amdgpu-waves-per-eu" attribute attached to function F.
Subtarget's default values if explicitly requested values cannot be converted to integer, violate subtarget's specifications, or are not compatible with minimum/maximum number of waves limited by flat work group size, register usage, and/or lds usage.

Definition at line 224 of file AMDGPUSubtarget.cpp.

References llvm::Default, getFlatWorkGroupSizes(), llvm::AMDGPU::getIntegerPairAttribute(), getMaxWavesPerEU(), getMinWavesPerEU(), and llvm::Function::hasFnAttribute().

Referenced by PrivateMemoryInputPtr().

unsigned llvm::AMDGPUSubtarget::getWavesPerWorkGroup ( unsigned  FlatWorkGroupSize) const
inline
Returns
Number of waves per work group given the flat work group size.

Definition at line 417 of file AMDGPUSubtarget.h.

References llvm::alignTo(), and getWavefrontSize().

Referenced by getMaxWavesPerCU(), and getMaxWorkGroupsPerCU().

bool llvm::AMDGPUSubtarget::has16BitInsts ( ) const
inline
bool llvm::AMDGPUSubtarget::hasAddr64 ( ) const
inline

Definition at line 203 of file AMDGPUSubtarget.h.

References getGeneration(), and VOLCANIC_ISLANDS.

Referenced by initializeSubtargetDependencies().

bool llvm::AMDGPUSubtarget::hasBCNT ( unsigned  Size) const
inline
bool llvm::AMDGPUSubtarget::hasBFE ( ) const
inline
bool llvm::AMDGPUSubtarget::hasBFI ( ) const
inline

Definition at line 211 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

Referenced by llvm::AMDGPUTargetLowering::AMDGPUTargetLowering().

bool llvm::AMDGPUSubtarget::hasBFM ( ) const
inline

Definition at line 215 of file AMDGPUSubtarget.h.

References hasBFE().

bool llvm::AMDGPUSubtarget::hasBORROW ( ) const
inline

Definition at line 250 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

Referenced by llvm::R600TargetLowering::R600TargetLowering().

bool llvm::AMDGPUSubtarget::hasCARRY ( ) const
inline

Definition at line 246 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

Referenced by llvm::R600TargetLowering::R600TargetLowering().

bool llvm::AMDGPUSubtarget::hasCaymanISA ( ) const
inline
bool llvm::AMDGPUSubtarget::hasFastFMAF32 ( ) const
inline

Definition at line 195 of file AMDGPUSubtarget.h.

References FastFMAF32.

Referenced by llvm::SITargetLowering::isFMAFasterThanFMulAndFAdd().

bool llvm::AMDGPUSubtarget::hasFFBH ( ) const
inline

Definition at line 242 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

Referenced by llvm::AMDGPUTargetLowering::AMDGPUTargetLowering().

bool llvm::AMDGPUSubtarget::hasFFBL ( ) const
inline

Definition at line 238 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

Referenced by llvm::AMDGPUTargetLowering::AMDGPUTargetLowering().

bool llvm::AMDGPUSubtarget::hasFP16Denormals ( ) const
inline
bool llvm::AMDGPUSubtarget::hasFP32Denormals ( ) const
inline
bool llvm::AMDGPUSubtarget::hasFP64Denormals ( ) const
inline

Definition at line 290 of file AMDGPUSubtarget.h.

References FP64Denormals.

Referenced by getFPMode().

bool llvm::AMDGPUSubtarget::hasFPExceptions ( ) const
inline

Definition at line 294 of file AMDGPUSubtarget.h.

References FPExceptions.

Referenced by llvm::AMDGPUTargetLowering::AMDGPUTargetLowering().

bool llvm::AMDGPUSubtarget::hasHalfRate64Ops ( ) const
inline

Definition at line 199 of file AMDGPUSubtarget.h.

References HalfRate64Ops.

bool llvm::AMDGPUSubtarget::hasHWFP64 ( ) const
inline

Definition at line 191 of file AMDGPUSubtarget.h.

References FP64.

bool llvm::AMDGPUSubtarget::hasMulI24 ( ) const
inline
bool llvm::AMDGPUSubtarget::hasMulU24 ( ) const
inline
bool llvm::AMDGPUSubtarget::hasUnalignedBufferAccess ( ) const
inline
bool llvm::AMDGPUSubtarget::hasUnalignedScratchAccess ( ) const
inline
AMDGPUSubtarget & AMDGPUSubtarget::initializeSubtargetDependencies ( const Triple TT,
StringRef  GPU,
StringRef  FS 
)
bool llvm::AMDGPUSubtarget::isAmdCodeObjectV2 ( const MachineFunction MF) const
inline
bool llvm::AMDGPUSubtarget::isAmdHsaOS ( ) const
inline
bool llvm::AMDGPUSubtarget::isMesa3DOS ( ) const
inline

Definition at line 159 of file AMDGPUSubtarget.h.

References llvm::Triple::getOS(), llvm::Triple::Mesa3D, and TargetTriple.

Referenced by isMesaGfxShader(), and isMesaKernel().

bool llvm::AMDGPUSubtarget::isMesaGfxShader ( const MachineFunction MF) const
inline
bool llvm::AMDGPUSubtarget::isMesaKernel ( const MachineFunction MF) const
inline
bool llvm::AMDGPUSubtarget::isOpenCLEnv ( ) const
inline
bool llvm::AMDGPUSubtarget::isPromoteAllocaEnabled ( ) const
inline

Definition at line 258 of file AMDGPUSubtarget.h.

References EnablePromoteAlloca.

bool llvm::AMDGPUSubtarget::isXNACKEnabled ( ) const
inline

Definition at line 310 of file AMDGPUSubtarget.h.

References EnableXNACK.

Referenced by llvm::SIRegisterInfo::getNumReservedSGPRs().

void llvm::AMDGPUSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)
void llvm::AMDGPUSubtarget::setScalarizeGlobalBehavior ( bool  b)
inline

Definition at line 421 of file AMDGPUSubtarget.h.

References ScalarizeGlobal.

bool llvm::AMDGPUSubtarget::unsafeDSOffsetFoldingEnabled ( ) const
inline

Definition at line 262 of file AMDGPUSubtarget.h.

References EnableUnsafeDSOffsetFolding.

bool llvm::AMDGPUSubtarget::useFlatForGlobal ( ) const
inline

Definition at line 298 of file AMDGPUSubtarget.h.

References FlatForGlobal.

Member Data Documentation

bool llvm::AMDGPUSubtarget::CaymanISA
protected

Definition at line 119 of file AMDGPUSubtarget.h.

Referenced by hasCaymanISA().

bool llvm::AMDGPUSubtarget::CFALUBug
protected

Definition at line 120 of file AMDGPUSubtarget.h.

Referenced by llvm::R600Subtarget::hasCFAluBug().

bool llvm::AMDGPUSubtarget::CIInsts
protected

Definition at line 109 of file AMDGPUSubtarget.h.

bool llvm::AMDGPUSubtarget::DebuggerEmitPrologue
protected

Definition at line 94 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::debuggerEmitPrologue().

bool llvm::AMDGPUSubtarget::DebuggerInsertNops
protected

Definition at line 92 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::debuggerInsertNops().

bool llvm::AMDGPUSubtarget::DebuggerReserveRegs
protected

Definition at line 93 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::debuggerReserveRegs().

bool llvm::AMDGPUSubtarget::DumpCode
protected

Definition at line 102 of file AMDGPUSubtarget.h.

Referenced by dumpCode().

bool llvm::AMDGPUSubtarget::EnableLoadStoreOpt
protected

Definition at line 99 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::loadStoreOptEnabled().

bool llvm::AMDGPUSubtarget::EnablePromoteAlloca
protected

Definition at line 98 of file AMDGPUSubtarget.h.

Referenced by isPromoteAllocaEnabled().

bool llvm::AMDGPUSubtarget::EnableSIScheduler
protected

Definition at line 101 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::enableSIScheduler().

bool llvm::AMDGPUSubtarget::EnableUnsafeDSOffsetFolding
protected

Definition at line 100 of file AMDGPUSubtarget.h.

Referenced by unsafeDSOffsetFoldingEnabled().

bool llvm::AMDGPUSubtarget::EnableVGPRSpilling
protected

Definition at line 97 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::isVGPRSpillingEnabled().

bool llvm::AMDGPUSubtarget::EnableXNACK
protected

Definition at line 91 of file AMDGPUSubtarget.h.

Referenced by isXNACKEnabled().

bool llvm::AMDGPUSubtarget::FastFMAF32
protected

Definition at line 80 of file AMDGPUSubtarget.h.

Referenced by hasFastFMAF32().

bool llvm::AMDGPUSubtarget::FeatureDisable
protected

Definition at line 126 of file AMDGPUSubtarget.h.

bool llvm::AMDGPUSubtarget::FlatAddressSpace
protected

Definition at line 117 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasFlatAddressSpace().

bool llvm::AMDGPUSubtarget::FlatForGlobal
protected

Definition at line 88 of file AMDGPUSubtarget.h.

Referenced by initializeSubtargetDependencies(), and useFlatForGlobal().

bool llvm::AMDGPUSubtarget::FP16Denormals
protected

Definition at line 84 of file AMDGPUSubtarget.h.

Referenced by hasFP16Denormals(), and initializeSubtargetDependencies().

bool llvm::AMDGPUSubtarget::FP32Denormals
protected

Definition at line 85 of file AMDGPUSubtarget.h.

Referenced by hasFP32Denormals(), and initializeSubtargetDependencies().

bool llvm::AMDGPUSubtarget::FP64
protected

Definition at line 105 of file AMDGPUSubtarget.h.

Referenced by hasHWFP64().

bool llvm::AMDGPUSubtarget::FP64Denormals
protected

Definition at line 86 of file AMDGPUSubtarget.h.

Referenced by hasFP64Denormals(), and initializeSubtargetDependencies().

bool llvm::AMDGPUSubtarget::FPExceptions
protected

Definition at line 87 of file AMDGPUSubtarget.h.

Referenced by hasFPExceptions().

bool llvm::AMDGPUSubtarget::GCN1Encoding
protected

Definition at line 107 of file AMDGPUSubtarget.h.

bool llvm::AMDGPUSubtarget::GCN3Encoding
protected

Definition at line 108 of file AMDGPUSubtarget.h.

Generation llvm::AMDGPUSubtarget::Gen
protected

Definition at line 72 of file AMDGPUSubtarget.h.

Referenced by getGeneration().

bool llvm::AMDGPUSubtarget::HalfRate64Ops
protected

Definition at line 81 of file AMDGPUSubtarget.h.

Referenced by hasHalfRate64Ops().

bool llvm::AMDGPUSubtarget::Has16BitInsts
protected

Definition at line 112 of file AMDGPUSubtarget.h.

Referenced by has16BitInsts().

bool llvm::AMDGPUSubtarget::HasInv2PiInlineImm
protected

Definition at line 116 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasInv2PiInlineImm().

bool llvm::AMDGPUSubtarget::HasMovrel
protected

Definition at line 113 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasMovrel().

bool llvm::AMDGPUSubtarget::HasScalarStores
protected

Definition at line 115 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasScalarStores().

bool llvm::AMDGPUSubtarget::HasSMemRealTime
protected

Definition at line 111 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasSMemRealTime().

bool llvm::AMDGPUSubtarget::HasVertexCache
protected

Definition at line 121 of file AMDGPUSubtarget.h.

Referenced by llvm::R600Subtarget::hasVertexCache().

bool llvm::AMDGPUSubtarget::HasVGPRIndexMode
protected

Definition at line 114 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasVGPRIndexMode().

InstrItineraryData llvm::AMDGPUSubtarget::InstrItins
protected

Definition at line 128 of file AMDGPUSubtarget.h.

Referenced by getInstrItineraryData().

unsigned llvm::AMDGPUSubtarget::IsaVersion
protected

Definition at line 73 of file AMDGPUSubtarget.h.

bool llvm::AMDGPUSubtarget::IsGCN
protected

Definition at line 106 of file AMDGPUSubtarget.h.

int llvm::AMDGPUSubtarget::LDSBankCount
protected

Definition at line 76 of file AMDGPUSubtarget.h.

Referenced by getLDSBankCount().

int llvm::AMDGPUSubtarget::LocalMemorySize
protected

Definition at line 75 of file AMDGPUSubtarget.h.

Referenced by getLocalMemorySize().

unsigned llvm::AMDGPUSubtarget::MaxPrivateElementSize
protected

Definition at line 77 of file AMDGPUSubtarget.h.

Referenced by getMaxPrivateElementSize(), and initializeSubtargetDependencies().

bool llvm::AMDGPUSubtarget::R600ALUInst
protected

Definition at line 118 of file AMDGPUSubtarget.h.

bool llvm::AMDGPUSubtarget::ScalarizeGlobal
protected

Definition at line 123 of file AMDGPUSubtarget.h.

Referenced by getScalarizeGlobalBehavior(), and setScalarizeGlobalBehavior().

bool llvm::AMDGPUSubtarget::SGPRInitBug
protected

Definition at line 110 of file AMDGPUSubtarget.h.

Referenced by llvm::SISubtarget::hasSGPRInitBug().

Triple llvm::AMDGPUSubtarget::TargetTriple
protected

Definition at line 71 of file AMDGPUSubtarget.h.

Referenced by isAmdHsaOS(), isMesa3DOS(), and isOpenCLEnv().

short llvm::AMDGPUSubtarget::TexVTXClauseSize
protected

Definition at line 122 of file AMDGPUSubtarget.h.

Referenced by llvm::R600Subtarget::getTexVTXClauseSize().

SelectionDAGTargetInfo llvm::AMDGPUSubtarget::TSInfo
protected

Definition at line 129 of file AMDGPUSubtarget.h.

Referenced by getSelectionDAGInfo().

bool llvm::AMDGPUSubtarget::UnalignedBufferAccess
protected

Definition at line 90 of file AMDGPUSubtarget.h.

Referenced by hasUnalignedBufferAccess().

bool llvm::AMDGPUSubtarget::UnalignedScratchAccess
protected

Definition at line 89 of file AMDGPUSubtarget.h.

Referenced by hasUnalignedScratchAccess().

unsigned llvm::AMDGPUSubtarget::WavefrontSize
protected

Definition at line 74 of file AMDGPUSubtarget.h.

Referenced by getWavefrontSize().


The documentation for this class was generated from the following files: