27 #define DEBUG_TYPE "amdgpu-subtarget"
29 #define GET_SUBTARGETINFO_ENUM
30 #define GET_SUBTARGETINFO_TARGET_DESC
31 #define GET_SUBTARGETINFO_CTOR
32 #include "AMDGPUGenSubtargetInfo.inc"
58 FP32Denormals =
false;
59 FP64Denormals =
false;
70 CaymanISA(
false), FlatAddressSpace(
false), EnableIRStructurizer(
true),
72 EnableUnsafeDSOffsetFolding(
false),
73 WavefrontSize(0), CFALUBug(
false), LocalMemorySize(0),
75 GCN1Encoding(
false), GCN3Encoding(
false), CIInsts(
false), LDSBankCount(0),
76 IsaVersion(ISAVersion0_0_0), EnableHugeScratchBuffer(
false),
80 InstrItins(getInstrItineraryForCPU(GPU)), TargetTriple(TT) {
126 unsigned NumRegionInstrs)
const {
bool hasCaymanISA() const
const_iterator end(StringRef path)
Get end iterator over path.
AMDGPU specific subclass of TargetSubtarget.
Interface definition for R600InstrInfo.
AMDGPUSubtarget & initializeSubtargetDependencies(const Triple &TT, StringRef GPU, StringRef FS)
const_iterator begin(StringRef path)
Get begin iterator over path.
R600 Machine Scheduler interface.
void overrideSchedPolicy(MachineSchedPolicy &Policy, MachineInstr *begin, MachineInstr *end, unsigned NumRegionInstrs) const override
unsigned getAmdKernelCodeChipID() const
unsigned getShaderType() const
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
unsigned getStackEntrySize() const
ArchType getArch() const
getArch - Get the parsed architecture type of this triple.
Generation getGeneration() const
void ParseSubtargetFeatures(StringRef CPU, StringRef FS)
IsaVersion getIsaVersion(const FeatureBitset &Features)
SI DAG Lowering interface definition.
AMDGPU::IsaVersion getIsaVersion() const
Triple - Helper class for working with autoconf configuration names.
Information about stack frame layout on the target.
Define a generic scheduling policy for targets that don't provide their own MachineSchedStrategy.
Representation of each machine instruction.
static cl::opt< bool > EnableLoadStoreOpt("aarch64-load-store-opt", cl::desc("Enable the load/store pair"" optimization pass"), cl::init(true), cl::Hidden)
This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which inter...
Interface definition for SIInstrInfo.
R600 DAG Lowering interface definition.
unsigned getWavefrontSize() const
Primary interface to the complete machine description for the target machine.
AMDGPUSubtarget(const Triple &TT, StringRef CPU, StringRef FS, TargetMachine &TM)
StringRef - Represent a constant reference to a string, i.e.
bool isVGPRSpillingEnabled(const SIMachineFunctionInfo *MFI) const