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

#include "Target/AMDGPU/AMDGPUSubtarget.h"

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

Public Types

enum  Generation {
  R600 = 0, R700, EVERGREEN, NORTHERN_ISLANDS,
  SOUTHERN_ISLANDS, SEA_ISLANDS, VOLCANIC_ISLANDS, GFX9
}
 
enum  {
  ISAVersion0_0_0, ISAVersion6_0_0, ISAVersion6_0_1, ISAVersion7_0_0,
  ISAVersion7_0_1, ISAVersion7_0_2, ISAVersion7_0_3, ISAVersion7_0_4,
  ISAVersion8_0_0, ISAVersion8_0_1, ISAVersion8_0_2, ISAVersion8_0_3,
  ISAVersion8_1_0, ISAVersion9_0_0, ISAVersion9_0_2
}
 
enum  TrapHandlerAbi { TrapHandlerAbiNone = 0, TrapHandlerAbiHsa = 1 }
 
enum  TrapID {
  TrapIDHardwareReserved = 0, TrapIDHSADebugTrap = 1, TrapIDLLVMTrap = 2, TrapIDLLVMDebugTrap = 3,
  TrapIDDebugBreakpoint = 7, TrapIDDebugReserved8 = 8, TrapIDDebugReservedFE = 0xfe, TrapIDDebugReservedFF = 0xff
}
 
enum  TrapRegValues { LLVMTrapHandlerRegValue = 1 }
 

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
 
bool isAmdPalOS () const
 
Generation getGeneration () const
 
unsigned getWavefrontSize () const
 
unsigned getWavefrontSizeLog2 () const
 
int getLocalMemorySize () const
 
int getLDSBankCount () const
 
unsigned getMaxPrivateElementSize () const
 
AMDGPUAS getAMDGPUAS () const
 
bool has16BitInsts () const
 
bool hasIntClamp () const
 
bool hasVOP3PInsts () const
 
bool hasFP64 () 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 hasMed3_16 () const
 
bool hasMin3Max3_16 () const
 
bool hasMadMixInsts () const
 
bool hasSBufferLoadStoreAtomicDwordxN () const
 
bool hasCARRY () const
 
bool hasBORROW () const
 
bool hasCaymanISA () const
 
bool hasFMA () const
 
TrapHandlerAbi getTrapHandlerAbi () const
 
bool enableHugePrivateBuffer () const
 
bool isPromoteAllocaEnabled () const
 
bool unsafeDSOffsetFoldingEnabled () const
 
bool dumpCode () const
 
unsigned getMaxLocalMemSizeWithWaveCount (unsigned WaveCount, const Function &) 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 Function &) const
 Inverse of getMaxLocalMemWithWaveCount. More...
 
unsigned getOccupancyWithLocalMemSize (const MachineFunction &MF) const
 
bool hasFP16Denormals () const
 
bool hasFP32Denormals () const
 
bool hasFP64Denormals () const
 
bool supportsMinMaxDenormModes () const
 
bool hasFPExceptions () const
 
bool enableDX10Clamp () const
 
bool enableIEEEBit (const MachineFunction &MF) const
 
bool useFlatForGlobal () const
 
bool privateMemoryResourceIsRangeChecked () const
 
bool hasAutoWaitcntBeforeBarrier () const
 
bool hasCodeObjectV3 () const
 
bool hasUnalignedBufferAccess () const
 
bool hasUnalignedScratchAccess () const
 
bool hasApertureRegs () const
 
bool isTrapHandlerEnabled () const
 
bool isXNACKEnabled () const
 
bool hasFlatAddressSpace () const
 
bool hasFlatInstOffsets () const
 
bool hasFlatGlobalInsts () const
 
bool hasFlatScratchInsts () const
 
bool hasD16LoadStore () const
 
bool ldsRequiresM0Init () const
 Return if most LDS instructions have an m0 use that require m0 to be iniitalized. More...
 
bool hasAddNoCarry () const
 
bool isMesaKernel (const MachineFunction &MF) const
 
bool isMesaGfxShader (const MachineFunction &MF) const
 
bool isAmdCodeObjectV2 (const MachineFunction &MF) const
 
bool hasMad64_32 () const
 
bool hasFminFmaxLegacy () const
 
bool hasSDWA () const
 
bool hasSDWAOmod () const
 
bool hasSDWAScalar () const
 
bool hasSDWASdst () const
 
bool hasSDWAMac () const
 
bool hasSDWAOutModsVOPC () 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
 
void setScalarizeGlobalBehavior (bool b)
 
bool getScalarizeGlobalBehavior () const
 
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
 
std::pair< unsigned, unsignedgetDefaultFlatWorkGroupSize (CallingConv::ID CC) const
 
std::pair< unsigned, unsignedgetFlatWorkGroupSizes (const Function &F) const
 
std::pair< unsigned, unsignedgetWavesPerEU (const Function &F) const
 
bool makeLIDRangeMetadata (Instruction *I) const
 Creates value range metadata on an workitemid.* inrinsic call or load. More...
 

Protected Attributes

Triple TargetTriple
 
Generation Gen
 
unsigned IsaVersion
 
unsigned WavefrontSize
 
int LocalMemorySize
 
int LDSBankCount
 
unsigned MaxPrivateElementSize
 
bool FastFMAF32
 
bool HalfRate64Ops
 
bool FP32Denormals
 
bool FP64FP16Denormals
 
bool FPExceptions
 
bool DX10Clamp
 
bool FlatForGlobal
 
bool AutoWaitcntBeforeBarrier
 
bool CodeObjectV3
 
bool UnalignedScratchAccess
 
bool UnalignedBufferAccess
 
bool HasApertureRegs
 
bool EnableXNACK
 
bool TrapHandler
 
bool DebuggerInsertNops
 
bool DebuggerReserveRegs
 
bool DebuggerEmitPrologue
 
bool EnableHugePrivateBuffer
 
bool EnableVGPRSpilling
 
bool EnablePromoteAlloca
 
bool EnableLoadStoreOpt
 
bool EnableUnsafeDSOffsetFolding
 
bool EnableSIScheduler
 
bool DumpCode
 
bool FP64
 
bool FMA
 
bool IsGCN
 
bool GCN3Encoding
 
bool CIInsts
 
bool GFX9Insts
 
bool SGPRInitBug
 
bool HasSMemRealTime
 
bool Has16BitInsts
 
bool HasIntClamp
 
bool HasVOP3PInsts
 
bool HasMadMixInsts
 
bool HasMovrel
 
bool HasVGPRIndexMode
 
bool HasScalarStores
 
bool HasInv2PiInlineImm
 
bool HasSDWA
 
bool HasSDWAOmod
 
bool HasSDWAScalar
 
bool HasSDWASdst
 
bool HasSDWAMac
 
bool HasSDWAOutModsVOPC
 
bool HasDPP
 
bool FlatAddressSpace
 
bool FlatInstOffsets
 
bool FlatGlobalInsts
 
bool FlatScratchInsts
 
bool AddNoCarryInsts
 
bool R600ALUInst
 
bool CaymanISA
 
bool CFALUBug
 
bool HasVertexCache
 
short TexVTXClauseSize
 
bool ScalarizeGlobal
 
bool FeatureDisable
 
InstrItineraryData InstrItins
 
SelectionDAGTargetInfo TSInfo
 
AMDGPUAS AS
 

Detailed Description

Definition at line 48 of file AMDGPUSubtarget.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ISAVersion0_0_0 
ISAVersion6_0_0 
ISAVersion6_0_1 
ISAVersion7_0_0 
ISAVersion7_0_1 
ISAVersion7_0_2 
ISAVersion7_0_3 
ISAVersion7_0_4 
ISAVersion8_0_0 
ISAVersion8_0_1 
ISAVersion8_0_2 
ISAVersion8_0_3 
ISAVersion8_1_0 
ISAVersion9_0_0 
ISAVersion9_0_2 

Definition at line 61 of file AMDGPUSubtarget.h.

◆ Generation

Enumerator
R600 
R700 
EVERGREEN 
NORTHERN_ISLANDS 
SOUTHERN_ISLANDS 
SEA_ISLANDS 
VOLCANIC_ISLANDS 
GFX9 

Definition at line 50 of file AMDGPUSubtarget.h.

◆ TrapHandlerAbi

Enumerator
TrapHandlerAbiNone 
TrapHandlerAbiHsa 

Definition at line 79 of file AMDGPUSubtarget.h.

◆ TrapID

Enumerator
TrapIDHardwareReserved 
TrapIDHSADebugTrap 
TrapIDLLVMTrap 
TrapIDLLVMDebugTrap 
TrapIDDebugBreakpoint 
TrapIDDebugReserved8 
TrapIDDebugReservedFE 
TrapIDDebugReservedFF 

Definition at line 84 of file AMDGPUSubtarget.h.

◆ TrapRegValues

Enumerator
LLVMTrapHandlerRegValue 

Definition at line 95 of file AMDGPUSubtarget.h.

Constructor & Destructor Documentation

◆ AMDGPUSubtarget()

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

◆ ~AMDGPUSubtarget()

AMDGPUSubtarget::~AMDGPUSubtarget ( )
overridedefault

Member Function Documentation

◆ dumpCode()

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

◆ enableDX10Clamp()

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

◆ enableHugePrivateBuffer()

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

Definition at line 358 of file AMDGPUSubtarget.h.

References EnableHugePrivateBuffer.

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

◆ enableIEEEBit()

bool llvm::AMDGPUSubtarget::enableIEEEBit ( const MachineFunction MF) const
inline

◆ enableMachineScheduler()

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

Definition at line 554 of file AMDGPUSubtarget.h.

◆ enableSubRegLiveness()

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

Definition at line 558 of file AMDGPUSubtarget.h.

◆ getAlignmentForImplicitArgPtr()

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

◆ getAMDGPUAS()

AMDGPUAS llvm::AMDGPUSubtarget::getAMDGPUAS ( ) const
inline

◆ getDefaultFlatWorkGroupSize()

std::pair< unsigned, unsigned > AMDGPUSubtarget::getDefaultFlatWorkGroupSize ( CallingConv::ID  CC) const

◆ getEUsPerCU()

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

Definition at line 567 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getEUsPerCU().

◆ getExplicitKernelArgOffset()

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 531 of file AMDGPUSubtarget.h.

References isAmdCodeObjectV2().

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

◆ getFlatWorkGroupSizes()

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 220 of file AMDGPUSubtarget.cpp.

References llvm::Default, llvm::Function::getCallingConv(), getDefaultFlatWorkGroupSize(), llvm::AMDGPU::getIntegerAttribute(), llvm::AMDGPU::getIntegerPairAttribute(), getMaxFlatWorkGroupSize(), and getMinFlatWorkGroupSize().

Referenced by emitRemovedIntrinsicError(), getMaxLocalMemSizeWithWaveCount(), getOccupancyWithLocalMemSize(), getWavesPerEU(), getWavesPerWorkGroup(), isCallPromotable(), makeLIDRangeMetadata(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().

◆ getFrameLowering()

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

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

◆ getGeneration()

Generation llvm::AMDGPUSubtarget::getGeneration ( ) const
inline

Definition at line 223 of file AMDGPUSubtarget.h.

References Gen.

Referenced by addRegsToSet(), llvm::AMDGPUTargetLowering::AMDGPUTargetLowering(), llvm::R600InstrInfo::buildSlotOfVectorInstruction(), emitRemovedIntrinsicError(), llvm::SISubtarget::flatScratchIsPointer(), llvm::AMDGPUTTIImpl::getArithmeticInstrCost(), llvm::SIInstrInfo::getDefaultRsrcDataFormat(), getFPTernOp(), llvm::AMDGPUTTIImpl::getHardwareNumberOfRegisters(), llvm::AMDGPUTTIImpl::getLoadStoreVecRegBitWidth(), getNumExtraSGPRs(), llvm::SISubtarget::getOccupancyWithNumSGPRs(), llvm::SITargetLowering::getRegisterByName(), llvm::SISubtarget::getReservedNumSGPRs(), llvm::SIInstrInfo::getScratchRsrcWords23(), getSmrdOpcode(), llvm::SISubtarget::has12DWordStoreHazard(), hasAddr64(), hasBCNT(), hasBFE(), hasBFI(), hasBORROW(), hasCARRY(), hasD16LoadStore(), hasFFBH(), hasFFBL(), hasFminFmaxLegacy(), hasMad64_32(), hasMed3_16(), hasMin3Max3_16(), hasMulI24(), hasMulU24(), llvm::SISubtarget::hasReadM0MovRelInterpHazard(), llvm::SISubtarget::hasReadM0SendMsgHazard(), hasSBufferLoadStoreAtomicDwordxN(), llvm::SISubtarget::hasScalarCompareEq64(), llvm::SISubtarget::hasSMovFedHazard(), initializeSubtargetDependencies(), llvm::SITargetLowering::isLegalAddressingMode(), ldsRequiresM0Init(), llvm::SITargetLowering::LowerFormalArguments(), llvm::SIInstrInfo::moveToVALU(), privateMemoryResourceIsRangeChecked(), llvm::AMDGPUInstrInfo::pseudoToMCOpcode(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::SIMachineFunctionInfo::SIMachineFunctionInfo(), llvm::SITargetLowering::SITargetLowering(), subtargetEncodingFamily(), and supportsMinMaxDenormModes().

◆ getImplicitArgNumBytes()

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

Definition at line 539 of file AMDGPUSubtarget.h.

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

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

◆ getInstrInfo()

const AMDGPUInstrInfo* llvm::AMDGPUSubtarget::getInstrInfo ( ) const
overridepure virtual

◆ getInstrItineraryData()

const InstrItineraryData* llvm::AMDGPUSubtarget::getInstrItineraryData ( ) const
inlineoverride

Definition at line 195 of file AMDGPUSubtarget.h.

References InstrItins.

◆ getLDSBankCount()

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

Definition at line 239 of file AMDGPUSubtarget.h.

References LDSBankCount.

◆ getLocalMemorySize()

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

◆ getMaxFlatWorkGroupSize()

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

Definition at line 616 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMaxFlatWorkGroupSize().

Referenced by getFlatWorkGroupSizes().

◆ getMaxLocalMemSizeWithWaveCount()

unsigned AMDGPUSubtarget::getMaxLocalMemSizeWithWaveCount ( unsigned  WaveCount,
const Function F 
) const

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

Definition at line 179 of file AMDGPUSubtarget.cpp.

References getFlatWorkGroupSizes(), getLocalMemorySize(), getMaxWavesPerEU(), and getMaxWorkGroupsPerCU().

Referenced by dumpCode(), and isCallPromotable().

◆ getMaxPrivateElementSize()

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

◆ getMaxWavesPerCU() [1/2]

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 580 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMaxWavesPerCU().

◆ getMaxWavesPerCU() [2/2]

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

Definition at line 586 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMaxWavesPerCU().

◆ getMaxWavesPerEU() [1/2]

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 599 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMaxWavesPerEU().

Referenced by getMaxLocalMemSizeWithWaveCount(), getOccupancyWithLocalMemSize(), getWavesPerEU(), and isCallPromotable().

◆ getMaxWavesPerEU() [2/2]

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

Definition at line 605 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMaxWavesPerEU().

◆ getMaxWorkGroupsPerCU()

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 FlatWorkGroupSize.

Definition at line 573 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMaxWorkGroupsPerCU().

Referenced by getMaxLocalMemSizeWithWaveCount(), and getOccupancyWithLocalMemSize().

◆ getMinFlatWorkGroupSize()

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

Definition at line 611 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMinFlatWorkGroupSize().

Referenced by getFlatWorkGroupSizes().

◆ getMinWavesPerEU()

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

Definition at line 593 of file AMDGPUSubtarget.h.

References llvm::AMDGPU::IsaInfo::getMinWavesPerEU().

Referenced by getWavesPerEU().

◆ getOccupancyWithLocalMemSize() [1/2]

unsigned AMDGPUSubtarget::getOccupancyWithLocalMemSize ( uint32_t  Bytes,
const Function F 
) const

Inverse of getMaxLocalMemWithWaveCount.

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

Definition at line 189 of file AMDGPUSubtarget.cpp.

References getFlatWorkGroupSizes(), getLocalMemorySize(), getMaxWavesPerEU(), getMaxWorkGroupsPerCU(), and llvm::max().

Referenced by dumpCode(), getMaxWaves(), getOccupancyWithLocalMemSize(), llvm::SIRegisterInfo::getRegPressureLimit(), and isCallPromotable().

◆ getOccupancyWithLocalMemSize() [2/2]

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

◆ getRegisterInfo()

const AMDGPURegisterInfo* llvm::AMDGPUSubtarget::getRegisterInfo ( ) const
overridepure virtual

◆ getScalarizeGlobalBehavior()

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

Definition at line 563 of file AMDGPUSubtarget.h.

References ScalarizeGlobal.

Referenced by emitRemovedIntrinsicError().

◆ getSelectionDAGInfo()

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

Definition at line 200 of file AMDGPUSubtarget.h.

References ParseSubtargetFeatures(), and TSInfo.

◆ getStackAlignment()

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

Definition at line 550 of file AMDGPUSubtarget.h.

◆ getTargetLowering()

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

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

◆ getTrapHandlerAbi()

TrapHandlerAbi llvm::AMDGPUSubtarget::getTrapHandlerAbi ( ) const
inline

Definition at line 354 of file AMDGPUSubtarget.h.

References isAmdHsaOS(), TrapHandlerAbiHsa, and TrapHandlerAbiNone.

Referenced by findUser().

◆ getWavefrontSize()

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

◆ getWavefrontSizeLog2()

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

◆ getWavesPerEU()

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 250 of file AMDGPUSubtarget.cpp.

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

Referenced by getWavesPerWorkGroup(), isCallPromotable(), and llvm::SIMachineFunctionInfo::SIMachineFunctionInfo().

◆ getWavesPerWorkGroup()

unsigned llvm::AMDGPUSubtarget::getWavesPerWorkGroup ( unsigned  FlatWorkGroupSize) const
inline
Returns
Number of waves per work group supported by the subtarget and limited by given FlatWorkGroupSize.

Definition at line 622 of file AMDGPUSubtarget.h.

References F(), getDefaultFlatWorkGroupSize(), getFlatWorkGroupSizes(), getWavesPerEU(), llvm::AMDGPU::IsaInfo::getWavesPerWorkGroup(), I, and makeLIDRangeMetadata().

◆ has16BitInsts()

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

◆ hasAddNoCarry()

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

◆ hasAddr64()

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

◆ hasApertureRegs()

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

Definition at line 442 of file AMDGPUSubtarget.h.

References HasApertureRegs.

Referenced by copyFeaturesToFunction(), and findUser().

◆ hasAutoWaitcntBeforeBarrier()

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

Definition at line 426 of file AMDGPUSubtarget.h.

References AutoWaitcntBeforeBarrier.

◆ hasBCNT()

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

◆ hasBFE()

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

◆ hasBFI()

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

Definition at line 283 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

◆ hasBFM()

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

Definition at line 287 of file AMDGPUSubtarget.h.

References hasBFE().

◆ hasBORROW()

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

Definition at line 342 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

◆ hasCARRY()

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

Definition at line 338 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

◆ hasCaymanISA()

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

◆ hasCodeObjectV3()

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

Definition at line 430 of file AMDGPUSubtarget.h.

References CodeObjectV3.

◆ hasD16LoadStore()

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

Definition at line 470 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

◆ hasFastFMAF32()

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

Definition at line 267 of file AMDGPUSubtarget.h.

References FastFMAF32.

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

◆ hasFFBH()

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

Definition at line 314 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

◆ hasFFBL()

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

Definition at line 310 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

◆ hasFlatAddressSpace()

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

◆ hasFlatGlobalInsts()

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

Definition at line 462 of file AMDGPUSubtarget.h.

References FlatGlobalInsts.

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

◆ hasFlatInstOffsets()

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

Definition at line 458 of file AMDGPUSubtarget.h.

References FlatInstOffsets.

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

◆ hasFlatScratchInsts()

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

Definition at line 466 of file AMDGPUSubtarget.h.

References FlatScratchInsts.

◆ hasFMA()

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

Definition at line 350 of file AMDGPUSubtarget.h.

References FMA.

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

◆ hasFminFmaxLegacy()

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

◆ hasFP16Denormals()

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

◆ hasFP32Denormals()

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

◆ hasFP64()

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

Definition at line 263 of file AMDGPUSubtarget.h.

References FP64.

Referenced by initializeSubtargetDependencies().

◆ hasFP64Denormals()

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

Definition at line 396 of file AMDGPUSubtarget.h.

References FP64FP16Denormals.

Referenced by getFPMode(), and isCanonicalized().

◆ hasFPExceptions()

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

Definition at line 404 of file AMDGPUSubtarget.h.

References FPExceptions.

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

◆ hasHalfRate64Ops()

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

Definition at line 271 of file AMDGPUSubtarget.h.

References HalfRate64Ops.

◆ hasIntClamp()

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

Definition at line 255 of file AMDGPUSubtarget.h.

References HasIntClamp.

◆ hasMad64_32()

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

Definition at line 497 of file AMDGPUSubtarget.h.

References getGeneration(), and SEA_ISLANDS.

Referenced by getMad64_32().

◆ hasMadMixInsts()

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

Definition at line 326 of file AMDGPUSubtarget.h.

References HasMadMixInsts.

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

◆ hasMed3_16()

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

Definition at line 318 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

Referenced by getSplatConstantFP(), and minMaxOpcToMin3Max3Opc().

◆ hasMin3Max3_16()

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

Definition at line 322 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

Referenced by getSplatConstantFP().

◆ hasMulI24()

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

◆ hasMulU24()

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

◆ hasSBufferLoadStoreAtomicDwordxN()

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

Definition at line 330 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

◆ hasSDWA()

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

◆ hasSDWAMac()

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

Definition at line 521 of file AMDGPUSubtarget.h.

References HasSDWAMac.

Referenced by findSingleRegDef().

◆ hasSDWAOmod()

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

Definition at line 509 of file AMDGPUSubtarget.h.

References HasSDWAOmod.

Referenced by findSingleRegDef(), and llvm::SIInstrInfo::verifyInstruction().

◆ hasSDWAOutModsVOPC()

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

Definition at line 525 of file AMDGPUSubtarget.h.

References HasSDWAOutModsVOPC.

Referenced by findSingleRegDef(), and llvm::SIInstrInfo::verifyInstruction().

◆ hasSDWAScalar()

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

Definition at line 513 of file AMDGPUSubtarget.h.

References HasSDWAScalar.

Referenced by findSingleRegDef(), and llvm::SIInstrInfo::verifyInstruction().

◆ hasSDWASdst()

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

Definition at line 517 of file AMDGPUSubtarget.h.

References HasSDWASdst.

Referenced by findSingleRegDef(), and llvm::SIInstrInfo::verifyInstruction().

◆ hasUnalignedBufferAccess()

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

◆ hasUnalignedScratchAccess()

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

◆ hasVOP3PInsts()

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

◆ initializeSubtargetDependencies()

AMDGPUSubtarget & AMDGPUSubtarget::initializeSubtargetDependencies ( const Triple TT,
StringRef  GPU,
StringRef  FS 
)

◆ isAmdCodeObjectV2()

bool llvm::AMDGPUSubtarget::isAmdCodeObjectV2 ( const MachineFunction MF) const
inline

◆ isAmdHsaOS()

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

◆ isAmdPalOS()

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

◆ isMesa3DOS()

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

Definition at line 210 of file AMDGPUSubtarget.h.

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

Referenced by isMesaGfxShader(), and isMesaKernel().

◆ isMesaGfxShader()

bool llvm::AMDGPUSubtarget::isMesaGfxShader ( const MachineFunction MF) const
inline

◆ isMesaKernel()

bool llvm::AMDGPUSubtarget::isMesaKernel ( const MachineFunction MF) const
inline

◆ isOpenCLEnv()

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

◆ isPromoteAllocaEnabled()

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

Definition at line 362 of file AMDGPUSubtarget.h.

References EnablePromoteAlloca.

◆ isTrapHandlerEnabled()

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

Definition at line 446 of file AMDGPUSubtarget.h.

References TrapHandler.

Referenced by findUser(), and getNumExtraSGPRs().

◆ isXNACKEnabled()

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

◆ ldsRequiresM0Init()

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

Return if most LDS instructions have an m0 use that require m0 to be iniitalized.

Definition at line 476 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

◆ makeLIDRangeMetadata()

bool AMDGPUSubtarget::makeLIDRangeMetadata ( Instruction I) const

◆ ParseSubtargetFeatures()

void llvm::AMDGPUSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)

◆ privateMemoryResourceIsRangeChecked()

bool llvm::AMDGPUSubtarget::privateMemoryResourceIsRangeChecked ( ) const
inline
Returns
If MUBUF instructions always perform range checking, even for buffer resources used for private memory access.

Definition at line 422 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

◆ setScalarizeGlobalBehavior()

void llvm::AMDGPUSubtarget::setScalarizeGlobalBehavior ( bool  b)
inline

Definition at line 562 of file AMDGPUSubtarget.h.

◆ supportsMinMaxDenormModes()

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

Definition at line 400 of file AMDGPUSubtarget.h.

References getGeneration(), and GFX9.

Referenced by isCanonicalized().

◆ unsafeDSOffsetFoldingEnabled()

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

Definition at line 366 of file AMDGPUSubtarget.h.

References EnableUnsafeDSOffsetFolding.

◆ useFlatForGlobal()

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

Definition at line 416 of file AMDGPUSubtarget.h.

References FlatForGlobal.

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

Member Data Documentation

◆ AddNoCarryInsts

bool llvm::AMDGPUSubtarget::AddNoCarryInsts
protected

Definition at line 167 of file AMDGPUSubtarget.h.

Referenced by hasAddNoCarry().

◆ AS

AMDGPUAS llvm::AMDGPUSubtarget::AS
protected

Definition at line 180 of file AMDGPUSubtarget.h.

Referenced by AMDGPUSubtarget(), and getAMDGPUAS().

◆ AutoWaitcntBeforeBarrier

bool llvm::AMDGPUSubtarget::AutoWaitcntBeforeBarrier
protected

Definition at line 119 of file AMDGPUSubtarget.h.

Referenced by hasAutoWaitcntBeforeBarrier().

◆ CaymanISA

bool llvm::AMDGPUSubtarget::CaymanISA
protected

Definition at line 169 of file AMDGPUSubtarget.h.

Referenced by hasCaymanISA().

◆ CFALUBug

bool llvm::AMDGPUSubtarget::CFALUBug
protected

Definition at line 170 of file AMDGPUSubtarget.h.

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

◆ CIInsts

bool llvm::AMDGPUSubtarget::CIInsts
protected

Definition at line 144 of file AMDGPUSubtarget.h.

◆ CodeObjectV3

bool llvm::AMDGPUSubtarget::CodeObjectV3
protected

Definition at line 120 of file AMDGPUSubtarget.h.

Referenced by hasCodeObjectV3().

◆ DebuggerEmitPrologue

bool llvm::AMDGPUSubtarget::DebuggerEmitPrologue
protected

Definition at line 128 of file AMDGPUSubtarget.h.

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

◆ DebuggerInsertNops

bool llvm::AMDGPUSubtarget::DebuggerInsertNops
protected

Definition at line 126 of file AMDGPUSubtarget.h.

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

◆ DebuggerReserveRegs

bool llvm::AMDGPUSubtarget::DebuggerReserveRegs
protected

Definition at line 127 of file AMDGPUSubtarget.h.

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

◆ DumpCode

bool llvm::AMDGPUSubtarget::DumpCode
protected

Definition at line 137 of file AMDGPUSubtarget.h.

Referenced by dumpCode().

◆ DX10Clamp

bool llvm::AMDGPUSubtarget::DX10Clamp
protected

Definition at line 117 of file AMDGPUSubtarget.h.

Referenced by enableDX10Clamp().

◆ EnableHugePrivateBuffer

bool llvm::AMDGPUSubtarget::EnableHugePrivateBuffer
protected

Definition at line 131 of file AMDGPUSubtarget.h.

Referenced by enableHugePrivateBuffer().

◆ EnableLoadStoreOpt

bool llvm::AMDGPUSubtarget::EnableLoadStoreOpt
protected

Definition at line 134 of file AMDGPUSubtarget.h.

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

◆ EnablePromoteAlloca

bool llvm::AMDGPUSubtarget::EnablePromoteAlloca
protected

Definition at line 133 of file AMDGPUSubtarget.h.

Referenced by isPromoteAllocaEnabled().

◆ EnableSIScheduler

bool llvm::AMDGPUSubtarget::EnableSIScheduler
protected

Definition at line 136 of file AMDGPUSubtarget.h.

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

◆ EnableUnsafeDSOffsetFolding

bool llvm::AMDGPUSubtarget::EnableUnsafeDSOffsetFolding
protected

Definition at line 135 of file AMDGPUSubtarget.h.

Referenced by unsafeDSOffsetFoldingEnabled().

◆ EnableVGPRSpilling

bool llvm::AMDGPUSubtarget::EnableVGPRSpilling
protected

Definition at line 132 of file AMDGPUSubtarget.h.

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

◆ EnableXNACK

bool llvm::AMDGPUSubtarget::EnableXNACK
protected

Definition at line 124 of file AMDGPUSubtarget.h.

Referenced by isXNACKEnabled().

◆ FastFMAF32

bool llvm::AMDGPUSubtarget::FastFMAF32
protected

Definition at line 110 of file AMDGPUSubtarget.h.

Referenced by hasFastFMAF32().

◆ FeatureDisable

bool llvm::AMDGPUSubtarget::FeatureDisable
protected

Definition at line 176 of file AMDGPUSubtarget.h.

◆ FlatAddressSpace

bool llvm::AMDGPUSubtarget::FlatAddressSpace
protected

Definition at line 163 of file AMDGPUSubtarget.h.

Referenced by hasFlatAddressSpace().

◆ FlatForGlobal

bool llvm::AMDGPUSubtarget::FlatForGlobal
protected

Definition at line 118 of file AMDGPUSubtarget.h.

Referenced by initializeSubtargetDependencies(), and useFlatForGlobal().

◆ FlatGlobalInsts

bool llvm::AMDGPUSubtarget::FlatGlobalInsts
protected

Definition at line 165 of file AMDGPUSubtarget.h.

Referenced by hasFlatGlobalInsts().

◆ FlatInstOffsets

bool llvm::AMDGPUSubtarget::FlatInstOffsets
protected

Definition at line 164 of file AMDGPUSubtarget.h.

Referenced by hasFlatInstOffsets().

◆ FlatScratchInsts

bool llvm::AMDGPUSubtarget::FlatScratchInsts
protected

Definition at line 166 of file AMDGPUSubtarget.h.

Referenced by hasFlatScratchInsts().

◆ FMA

bool llvm::AMDGPUSubtarget::FMA
protected

Definition at line 141 of file AMDGPUSubtarget.h.

Referenced by hasFMA().

◆ FP32Denormals

bool llvm::AMDGPUSubtarget::FP32Denormals
protected

Definition at line 114 of file AMDGPUSubtarget.h.

Referenced by hasFP32Denormals().

◆ FP64

bool llvm::AMDGPUSubtarget::FP64
protected

Definition at line 140 of file AMDGPUSubtarget.h.

Referenced by hasFP64().

◆ FP64FP16Denormals

bool llvm::AMDGPUSubtarget::FP64FP16Denormals
protected

Definition at line 115 of file AMDGPUSubtarget.h.

Referenced by hasFP16Denormals(), and hasFP64Denormals().

◆ FPExceptions

bool llvm::AMDGPUSubtarget::FPExceptions
protected

Definition at line 116 of file AMDGPUSubtarget.h.

Referenced by hasFPExceptions().

◆ GCN3Encoding

bool llvm::AMDGPUSubtarget::GCN3Encoding
protected

Definition at line 143 of file AMDGPUSubtarget.h.

◆ Gen

Generation llvm::AMDGPUSubtarget::Gen
protected

Definition at line 102 of file AMDGPUSubtarget.h.

Referenced by getGeneration().

◆ GFX9Insts

bool llvm::AMDGPUSubtarget::GFX9Insts
protected

Definition at line 145 of file AMDGPUSubtarget.h.

◆ HalfRate64Ops

bool llvm::AMDGPUSubtarget::HalfRate64Ops
protected

Definition at line 111 of file AMDGPUSubtarget.h.

Referenced by hasHalfRate64Ops().

◆ Has16BitInsts

bool llvm::AMDGPUSubtarget::Has16BitInsts
protected

Definition at line 148 of file AMDGPUSubtarget.h.

Referenced by has16BitInsts().

◆ HasApertureRegs

bool llvm::AMDGPUSubtarget::HasApertureRegs
protected

Definition at line 123 of file AMDGPUSubtarget.h.

Referenced by hasApertureRegs().

◆ HasDPP

bool llvm::AMDGPUSubtarget::HasDPP
protected

Definition at line 162 of file AMDGPUSubtarget.h.

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

◆ HasIntClamp

bool llvm::AMDGPUSubtarget::HasIntClamp
protected

Definition at line 149 of file AMDGPUSubtarget.h.

Referenced by hasIntClamp().

◆ HasInv2PiInlineImm

bool llvm::AMDGPUSubtarget::HasInv2PiInlineImm
protected

Definition at line 155 of file AMDGPUSubtarget.h.

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

◆ HasMadMixInsts

bool llvm::AMDGPUSubtarget::HasMadMixInsts
protected

Definition at line 151 of file AMDGPUSubtarget.h.

Referenced by hasMadMixInsts().

◆ HasMovrel

bool llvm::AMDGPUSubtarget::HasMovrel
protected

◆ HasScalarStores

bool llvm::AMDGPUSubtarget::HasScalarStores
protected

Definition at line 154 of file AMDGPUSubtarget.h.

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

◆ HasSDWA

bool llvm::AMDGPUSubtarget::HasSDWA
protected

Definition at line 156 of file AMDGPUSubtarget.h.

Referenced by hasSDWA().

◆ HasSDWAMac

bool llvm::AMDGPUSubtarget::HasSDWAMac
protected

Definition at line 160 of file AMDGPUSubtarget.h.

Referenced by hasSDWAMac().

◆ HasSDWAOmod

bool llvm::AMDGPUSubtarget::HasSDWAOmod
protected

Definition at line 157 of file AMDGPUSubtarget.h.

Referenced by hasSDWAOmod().

◆ HasSDWAOutModsVOPC

bool llvm::AMDGPUSubtarget::HasSDWAOutModsVOPC
protected

Definition at line 161 of file AMDGPUSubtarget.h.

Referenced by hasSDWAOutModsVOPC().

◆ HasSDWAScalar

bool llvm::AMDGPUSubtarget::HasSDWAScalar
protected

Definition at line 158 of file AMDGPUSubtarget.h.

Referenced by hasSDWAScalar().

◆ HasSDWASdst

bool llvm::AMDGPUSubtarget::HasSDWASdst
protected

Definition at line 159 of file AMDGPUSubtarget.h.

Referenced by hasSDWASdst().

◆ HasSMemRealTime

bool llvm::AMDGPUSubtarget::HasSMemRealTime
protected

Definition at line 147 of file AMDGPUSubtarget.h.

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

◆ HasVertexCache

bool llvm::AMDGPUSubtarget::HasVertexCache
protected

Definition at line 171 of file AMDGPUSubtarget.h.

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

◆ HasVGPRIndexMode

bool llvm::AMDGPUSubtarget::HasVGPRIndexMode
protected

◆ HasVOP3PInsts

bool llvm::AMDGPUSubtarget::HasVOP3PInsts
protected

Definition at line 150 of file AMDGPUSubtarget.h.

Referenced by hasVOP3PInsts().

◆ InstrItins

InstrItineraryData llvm::AMDGPUSubtarget::InstrItins
protected

Definition at line 178 of file AMDGPUSubtarget.h.

Referenced by getInstrItineraryData().

◆ IsaVersion

unsigned llvm::AMDGPUSubtarget::IsaVersion
protected

Definition at line 103 of file AMDGPUSubtarget.h.

◆ IsGCN

bool llvm::AMDGPUSubtarget::IsGCN
protected

Definition at line 142 of file AMDGPUSubtarget.h.

◆ LDSBankCount

int llvm::AMDGPUSubtarget::LDSBankCount
protected

Definition at line 106 of file AMDGPUSubtarget.h.

Referenced by getLDSBankCount(), and initializeSubtargetDependencies().

◆ LocalMemorySize

int llvm::AMDGPUSubtarget::LocalMemorySize
protected

Definition at line 105 of file AMDGPUSubtarget.h.

Referenced by getLocalMemorySize(), and initializeSubtargetDependencies().

◆ MaxPrivateElementSize

unsigned llvm::AMDGPUSubtarget::MaxPrivateElementSize
protected

Definition at line 107 of file AMDGPUSubtarget.h.

Referenced by getMaxPrivateElementSize(), and initializeSubtargetDependencies().

◆ R600ALUInst

bool llvm::AMDGPUSubtarget::R600ALUInst
protected

Definition at line 168 of file AMDGPUSubtarget.h.

◆ ScalarizeGlobal

bool llvm::AMDGPUSubtarget::ScalarizeGlobal
protected

Definition at line 173 of file AMDGPUSubtarget.h.

Referenced by getScalarizeGlobalBehavior().

◆ SGPRInitBug

bool llvm::AMDGPUSubtarget::SGPRInitBug
protected

Definition at line 146 of file AMDGPUSubtarget.h.

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

◆ TargetTriple

Triple llvm::AMDGPUSubtarget::TargetTriple
protected

Definition at line 101 of file AMDGPUSubtarget.h.

◆ TexVTXClauseSize

short llvm::AMDGPUSubtarget::TexVTXClauseSize
protected

Definition at line 172 of file AMDGPUSubtarget.h.

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

◆ TrapHandler

bool llvm::AMDGPUSubtarget::TrapHandler
protected

Definition at line 125 of file AMDGPUSubtarget.h.

Referenced by isTrapHandlerEnabled().

◆ TSInfo

SelectionDAGTargetInfo llvm::AMDGPUSubtarget::TSInfo
protected

Definition at line 179 of file AMDGPUSubtarget.h.

Referenced by getSelectionDAGInfo().

◆ UnalignedBufferAccess

bool llvm::AMDGPUSubtarget::UnalignedBufferAccess
protected

Definition at line 122 of file AMDGPUSubtarget.h.

Referenced by hasUnalignedBufferAccess().

◆ UnalignedScratchAccess

bool llvm::AMDGPUSubtarget::UnalignedScratchAccess
protected

Definition at line 121 of file AMDGPUSubtarget.h.

Referenced by hasUnalignedScratchAccess().

◆ WavefrontSize

unsigned llvm::AMDGPUSubtarget::WavefrontSize
protected

Definition at line 104 of file AMDGPUSubtarget.h.

Referenced by getWavefrontSize().


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