31 static const unsigned SubRegs[] = {
32 AMDGPU::sub0, AMDGPU::sub1, AMDGPU::sub2, AMDGPU::sub3, AMDGPU::sub4,
33 AMDGPU::sub5, AMDGPU::sub6, AMDGPU::sub7, AMDGPU::sub8, AMDGPU::sub9,
34 AMDGPU::sub10, AMDGPU::sub11, AMDGPU::sub12, AMDGPU::sub13, AMDGPU::sub14,
39 return SubRegs[Channel];
49 #define GET_REGINFO_TARGET_DESC 50 #include "AMDGPUGenRegisterInfo.inc" 60 return CSR_AMDGPU_HighRegs_SaveList;
63 static const MCPhysReg NoCalleeSavedReg = AMDGPU::NoRegister;
64 return &NoCalleeSavedReg;
80 return CSR_AMDGPU_HighRegs_RegMask;
unsigned getFrameOffsetReg() const
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
Interface definition for SIRegisterInfo.
static unsigned getSubRegFromChannel(unsigned Channel)
C - The default llvm calling convention, compatible with C.
This class represents lattice values for constants.
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID) const override
TargetRegisterInfo interface that is implemented by all hw codegen targets.
Fast - This calling convention attempts to make calls as fast as possible (e.g.
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
unsigned getFrameRegister(const MachineFunction &MF) const override
const MCPhysReg * getCalleeSavedRegsViaCopy(const MachineFunction *MF) const
MCRegAliasIterator enumerates all registers aliasing Reg.
Ty * getInfo()
getInfo - Keep track of various per-function pieces of information for backends that would like to do...
The AMDGPU TargetMachine interface definition for hw codgen targets.
CallingConv::ID getCallingConv() const
getCallingConv()/setCallingConv(CC) - These method get and set the calling convention of this functio...
constexpr size_t array_lengthof(T(&)[N])
Find the length of an array.
const Function & getFunction() const
Return the LLVM function that this machine code represents.
Provides AMDGPU specific target descriptions.
This class keeps track of the SPI_SP_INPUT_ADDR config register, which tells the hardware which inter...
void reserveRegisterTuples(BitVector &, unsigned Reg) const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())