diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp b/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp index ef12c1d24594..78ef71cdf8e3 100644 --- a/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp +++ b/llvm/lib/Target/AMDGPU/R600RegisterInfo.cpp @@ -20,14 +20,21 @@ using namespace llvm; -R600RegisterInfo::R600RegisterInfo() : R600GenRegisterInfo(0) { - RCW.RegWeight = 0; - RCW.WeightLimit = 0; -} - #define GET_REGINFO_TARGET_DESC #include "R600GenRegisterInfo.inc" +unsigned R600RegisterInfo::getSubRegFromChannel(unsigned Channel) { + static const uint16_t SubRegFromChannelTable[] = { + R600::sub0, R600::sub1, R600::sub2, R600::sub3, + R600::sub4, R600::sub5, R600::sub6, R600::sub7, + R600::sub8, R600::sub9, R600::sub10, R600::sub11, + R600::sub12, R600::sub13, R600::sub14, R600::sub15 + }; + + assert(Channel < array_lengthof(SubRegFromChannelTable)); + return SubRegFromChannelTable[Channel]; +} + BitVector R600RegisterInfo::getReservedRegs(const MachineFunction &MF) const { BitVector Reserved(getNumRegs()); @@ -87,11 +94,6 @@ const TargetRegisterClass * R600RegisterInfo::getCFGStructurizerRegClass( } } -const RegClassWeight &R600RegisterInfo::getRegClassWeight( - const TargetRegisterClass *RC) const { - return RCW; -} - bool R600RegisterInfo::isPhysRegLiveAcrossClauses(unsigned Reg) const { assert(!Register::isVirtualRegister(Reg)); |
