LLVM  3.7.0
Public Types | Public Member Functions | List of all members
llvm::AMDGPUSubtarget Class Reference

#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  { FIXED_SGPR_COUNT_FOR_INIT_BUG = 80 }
 
enum  {
  ISAVersion0_0_0, ISAVersion7_0_0, ISAVersion7_0_1, ISAVersion8_0_0,
  ISAVersion8_0_1
}
 

Public Member Functions

 AMDGPUSubtarget (const Triple &TT, StringRef CPU, StringRef FS, TargetMachine &TM)
 
AMDGPUSubtargetinitializeSubtargetDependencies (const Triple &TT, StringRef GPU, StringRef FS)
 
const AMDGPUFrameLoweringgetFrameLowering () const override
 
const AMDGPUInstrInfogetInstrInfo () const override
 
const AMDGPURegisterInfogetRegisterInfo () const override
 
AMDGPUTargetLoweringgetTargetLowering () const override
 
const InstrItineraryDatagetInstrItineraryData () const override
 
void ParseSubtargetFeatures (StringRef CPU, StringRef FS)
 
bool is64bit () const
 
bool hasVertexCache () const
 
short getTexVTXClauseSize () const
 
Generation getGeneration () const
 
bool hasHWFP64 () const
 
bool hasCaymanISA () const
 
bool hasFP32Denormals () const
 
bool hasFP64Denormals () const
 
bool hasFastFMAF32 () const
 
bool hasFlatAddressSpace () 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 IsIRStructurizerEnabled () const
 
bool isPromoteAllocaEnabled () const
 
bool isIfCvtEnabled () const
 
bool loadStoreOptEnabled () const
 
bool unsafeDSOffsetFoldingEnabled () const
 
unsigned getWavefrontSize () const
 
unsigned getStackEntrySize () const
 
bool hasCFAluBug () const
 
int getLocalMemorySize () const
 
bool hasSGPRInitBug () const
 
int getLDSBankCount () const
 
unsigned getAmdKernelCodeChipID () const
 
AMDGPU::IsaVersion getIsaVersion () const
 
bool enableMachineScheduler () const override
 
void overrideSchedPolicy (MachineSchedPolicy &Policy, MachineInstr *begin, MachineInstr *end, unsigned NumRegionInstrs) const override
 
bool isTargetELF () const
 
StringRef getDeviceName () const
 
bool enableHugeScratchBuffer () const
 
bool dumpCode () const
 
bool r600ALUEncoding () const
 
bool isAmdHsaOS () const
 
bool isVGPRSpillingEnabled (const SIMachineFunctionInfo *MFI) const
 
unsigned getMaxWavesPerCU () const
 
bool enableSubRegLiveness () const override
 
unsigned getExplicitKernelArgOffset () const
 Returns the offset in bytes from the start of the input buffer of the first explicit kernel argument. More...
 

Detailed Description

Definition at line 36 of file AMDGPUSubtarget.h.

Member Enumeration Documentation

anonymous enum
Enumerator
FIXED_SGPR_COUNT_FOR_INIT_BUG 

Definition at line 49 of file AMDGPUSubtarget.h.

anonymous enum
Enumerator
ISAVersion0_0_0 
ISAVersion7_0_0 
ISAVersion7_0_1 
ISAVersion8_0_0 
ISAVersion8_0_1 

Definition at line 53 of file AMDGPUSubtarget.h.

Enumerator
R600 
R700 
EVERGREEN 
NORTHERN_ISLANDS 
SOUTHERN_ISLANDS 
SEA_ISLANDS 
VOLCANIC_ISLANDS 

Definition at line 39 of file AMDGPUSubtarget.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Definition at line 275 of file AMDGPUSubtarget.h.

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

Definition at line 258 of file AMDGPUSubtarget.h.

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

Definition at line 298 of file AMDGPUSubtarget.h.

unsigned AMDGPUSubtarget::getAmdKernelCodeChipID ( ) const

Definition at line 107 of file AMDGPUSubtarget.cpp.

References getGeneration(), llvm_unreachable, and SEA_ISLANDS.

StringRef llvm::AMDGPUSubtarget::getDeviceName ( ) const
inline

Definition at line 271 of file AMDGPUSubtarget.h.

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

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

Definition at line 304 of file AMDGPUSubtarget.h.

References isAmdHsaOS().

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

const AMDGPUFrameLowering* llvm::AMDGPUSubtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 106 of file AMDGPUSubtarget.h.

Generation llvm::AMDGPUSubtarget::getGeneration ( ) const
inline
const AMDGPUInstrInfo* llvm::AMDGPUSubtarget::getInstrInfo ( ) const
inlineoverride
const InstrItineraryData* llvm::AMDGPUSubtarget::getInstrItineraryData ( ) const
inlineoverride

Definition at line 118 of file AMDGPUSubtarget.h.

AMDGPU::IsaVersion AMDGPUSubtarget::getIsaVersion ( ) const
int llvm::AMDGPUSubtarget::getLDSBankCount ( ) const
inline

Definition at line 250 of file AMDGPUSubtarget.h.

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

Definition at line 242 of file AMDGPUSubtarget.h.

unsigned llvm::AMDGPUSubtarget::getMaxWavesPerCU ( ) const
inline
const AMDGPURegisterInfo* llvm::AMDGPUSubtarget::getRegisterInfo ( ) const
inlineoverride
unsigned AMDGPUSubtarget::getStackEntrySize ( ) const
AMDGPUTargetLowering* llvm::AMDGPUSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 115 of file AMDGPUSubtarget.h.

short llvm::AMDGPUSubtarget::getTexVTXClauseSize ( ) const
inline

Definition at line 132 of file AMDGPUSubtarget.h.

Referenced by llvm::R600SchedStrategy::initialize().

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

Definition at line 164 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

Referenced by hasBFM(), and llvm::R600TargetLowering::R600TargetLowering().

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

Definition at line 168 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

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

Definition at line 172 of file AMDGPUSubtarget.h.

References hasBFE().

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

Definition at line 207 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

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

Definition at line 203 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

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

Definition at line 237 of file AMDGPUSubtarget.h.

References getGeneration(), and NORTHERN_ISLANDS.

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

Definition at line 199 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

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

Definition at line 195 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

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

Definition at line 160 of file AMDGPUSubtarget.h.

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

Definition at line 152 of file AMDGPUSubtarget.h.

Referenced by getFPMode().

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

Definition at line 140 of file AMDGPUSubtarget.h.

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

Definition at line 190 of file AMDGPUSubtarget.h.

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

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

Definition at line 186 of file AMDGPUSubtarget.h.

References EVERGREEN, and getGeneration().

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

Definition at line 246 of file AMDGPUSubtarget.h.

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

bool llvm::AMDGPUSubtarget::hasVertexCache ( ) const
inline
AMDGPUSubtarget & AMDGPUSubtarget::initializeSubtargetDependencies ( const Triple TT,
StringRef  GPU,
StringRef  FS 
)
bool llvm::AMDGPUSubtarget::is64bit ( ) const
inline

Definition at line 124 of file AMDGPUSubtarget.h.

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

Definition at line 219 of file AMDGPUSubtarget.h.

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

Definition at line 211 of file AMDGPUSubtarget.h.

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

Definition at line 215 of file AMDGPUSubtarget.h.

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

Definition at line 267 of file AMDGPUSubtarget.h.

bool AMDGPUSubtarget::isVGPRSpillingEnabled ( const SIMachineFunctionInfo MFI) const
bool llvm::AMDGPUSubtarget::loadStoreOptEnabled ( ) const
inline

Definition at line 223 of file AMDGPUSubtarget.h.

void AMDGPUSubtarget::overrideSchedPolicy ( MachineSchedPolicy Policy,
MachineInstr begin,
MachineInstr end,
unsigned  NumRegionInstrs 
) const
override
void llvm::AMDGPUSubtarget::ParseSubtargetFeatures ( StringRef  CPU,
StringRef  FS 
)
bool llvm::AMDGPUSubtarget::r600ALUEncoding ( ) const
inline

Definition at line 282 of file AMDGPUSubtarget.h.

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

Definition at line 227 of file AMDGPUSubtarget.h.


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