summaryrefslogtreecommitdiff
path: root/lib/Target/R600/SIRegisterInfo.h
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-08-06 23:08:18 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-08-06 23:08:18 +0000
commit3406d882c02a6cd1e16f4636351c23dcb68d785f (patch)
tree8917feb5d7791dc1e741bb30d67ae2055a7f8b92 /lib/Target/R600/SIRegisterInfo.h
parent06d63b31beb38a0c30dfa94543e53d8632531417 (diff)
downloadllvm-3406d882c02a6cd1e16f4636351c23dcb68d785f.tar.gz
llvm-3406d882c02a6cd1e16f4636351c23dcb68d785f.tar.bz2
llvm-3406d882c02a6cd1e16f4636351c23dcb68d785f.tar.xz
R600/SI: Add more special cases for opcodes to ensureSRegLimit()
Also factor out the register class lookup to its own function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187830 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/R600/SIRegisterInfo.h')
-rw-r--r--lib/Target/R600/SIRegisterInfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/R600/SIRegisterInfo.h b/lib/Target/R600/SIRegisterInfo.h
index c322f94914..d0df4f9de6 100644
--- a/lib/Target/R600/SIRegisterInfo.h
+++ b/lib/Target/R600/SIRegisterInfo.h
@@ -41,6 +41,10 @@ struct SIRegisterInfo : public AMDGPURegisterInfo {
/// \brief get the register class of the specified type to use in the
/// CFGStructurizer
virtual const TargetRegisterClass * getCFGStructurizerRegClass(MVT VT) const;
+
+ /// \brief Return the 'base' register class for this register.
+ /// e.g. SGPR0 => SReg_32, VGPR => VReg_32 SGPR0_SGPR1 -> SReg_32, etc.
+ const TargetRegisterClass *getPhysRegClass(unsigned Reg) const;
};
} // End namespace llvm