LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::R600Subtarget Class Referencefinal

#include "Target/AMDGPU/AMDGPUSubtarget.h"

Inheritance diagram for llvm::R600Subtarget:
Inheritance graph
Collaboration diagram for llvm::R600Subtarget:
Collaboration graph

Public Member Functions

 R600Subtarget (const Triple &TT, StringRef CPU, StringRef FS, const TargetMachine &TM)
const R600InstrInfogetInstrInfo () const override
const R600FrameLoweringgetFrameLowering () const override
const R600TargetLoweringgetTargetLowering () const override
const R600RegisterInfogetRegisterInfo () const override
bool hasCFAluBug () const
bool hasVertexCache () const
short getTexVTXClauseSize () const
- Public Member Functions inherited from llvm::AMDGPUSubtarget
 AMDGPUSubtarget (const Triple &TT, StringRef GPU, StringRef FS, const TargetMachine &TM)
 ~AMDGPUSubtarget () override
AMDGPUSubtargetinitializeSubtargetDependencies (const Triple &TT, StringRef GPU, StringRef FS)
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
int getLocalMemorySize () const
int getLDSBankCount () const
unsigned getMaxPrivateElementSize () const
bool has16BitInsts () const
bool hasIntClamp () const
bool hasVOP3PInsts () 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 hasMed3_16 () const
bool hasMin3Max3_16 () const
bool hasMadMixInsts () const
bool hasCARRY () const
bool hasBORROW () const
bool hasCaymanISA () const
TrapHandlerAbi getTrapHandlerAbi () 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 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 hasAddNoCarry () const
bool isMesaKernel (const MachineFunction &MF) const
bool isMesaGfxShader (const MachineFunction &MF) const
bool isAmdCodeObjectV2 (const MachineFunction &MF) 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, 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...

Additional Inherited Members

- Public Types inherited from llvm::AMDGPUSubtarget
enum  Generation {
enum  {
  ISAVersion0_0_0, ISAVersion6_0_0, ISAVersion6_0_1, ISAVersion7_0_0,
  ISAVersion7_0_1, ISAVersion7_0_2, ISAVersion7_0_3, ISAVersion8_0_0,
  ISAVersion8_0_1, ISAVersion8_0_2, ISAVersion8_0_3, ISAVersion8_0_4,
  ISAVersion8_1_0, ISAVersion9_0_0, ISAVersion9_0_1, 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 }
- Protected Attributes inherited from llvm::AMDGPUSubtarget
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 EnableVGPRSpilling
bool EnablePromoteAlloca
bool EnableLoadStoreOpt
bool EnableUnsafeDSOffsetFolding
bool EnableSIScheduler
bool DumpCode
bool FP64
bool IsGCN
bool GCN3Encoding
bool CIInsts
bool GFX9Insts
bool SGPRInitBug
bool HasSMemRealTime
bool Has16BitInsts
bool HasIntClamp
bool HasVOP3PInsts
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

Detailed Description

Definition at line 614 of file AMDGPUSubtarget.h.

Constructor & Destructor Documentation

◆ R600Subtarget()

R600Subtarget::R600Subtarget ( const Triple TT,
StringRef  CPU,
StringRef  FS,
const TargetMachine TM 

Definition at line 335 of file AMDGPUSubtarget.cpp.

Member Function Documentation

◆ getFrameLowering()

const R600FrameLowering* llvm::R600Subtarget::getFrameLowering ( ) const

◆ getInstrInfo()

const R600InstrInfo* llvm::R600Subtarget::getInstrInfo ( ) const

◆ getRegisterInfo()

const R600RegisterInfo* llvm::R600Subtarget::getRegisterInfo ( ) const

◆ getTargetLowering()

const R600TargetLowering* llvm::R600Subtarget::getTargetLowering ( ) const

Implements llvm::AMDGPUSubtarget.

Definition at line 632 of file AMDGPUSubtarget.h.

◆ getTexVTXClauseSize()

short llvm::R600Subtarget::getTexVTXClauseSize ( ) const

◆ hasCFAluBug()

bool llvm::R600Subtarget::hasCFAluBug ( ) const

Definition at line 640 of file AMDGPUSubtarget.h.

References llvm::AMDGPUSubtarget::CFALUBug.

◆ hasVertexCache()

bool llvm::R600Subtarget::hasVertexCache ( ) const

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