R600/SI: Add new helper isSGPRClassID
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 24 Sep 2014 02:17:12 +0000 (02:17 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 24 Sep 2014 02:17:12 +0000 (02:17 +0000)
Move these into header since they are trivial

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218360 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/SIRegisterInfo.cpp
lib/Target/R600/SIRegisterInfo.h

index f5307f880385637be963e4432bd12bb8f1dac2e0..3715e6a6cf899aab0d86a61b8cef646c669c688f 100644 (file)
@@ -288,13 +288,6 @@ const TargetRegisterClass *SIRegisterInfo::getPhysRegClass(unsigned Reg) const {
   return nullptr;
 }
 
-bool SIRegisterInfo::isSGPRClass(const TargetRegisterClass *RC) const {
-  if (!RC) {
-    return false;
-  }
-  return !hasVGPRs(RC);
-}
-
 bool SIRegisterInfo::hasVGPRs(const TargetRegisterClass *RC) const {
   return getCommonSubClass(&AMDGPU::VReg_32RegClass, RC) ||
          getCommonSubClass(&AMDGPU::VReg_64RegClass, RC) ||
index 0ac9f368d955c63f3f63b202406e6970212c18f8..c7e54dbf0ec310c4ec8bbb2dd6b0def20ac6d0d9 100644 (file)
@@ -46,7 +46,20 @@ struct SIRegisterInfo : public AMDGPURegisterInfo {
   const TargetRegisterClass *getPhysRegClass(unsigned Reg) const;
 
   /// \returns true if this class contains only SGPR registers
-  bool isSGPRClass(const TargetRegisterClass *RC) const;
+  bool isSGPRClass(const TargetRegisterClass *RC) const {
+    if (!RC)
+      return false;
+
+    return !hasVGPRs(RC);
+  }
+
+  /// \returns true if this class ID contains only SGPR registers
+  bool isSGPRClassID(unsigned RCID) const {
+    if (static_cast<int>(RCID) == -1)
+      return false;
+
+    return isSGPRClass(getRegClass(RCID));
+  }
 
   /// \returns true if this class contains VGPR registers.
   bool hasVGPRs(const TargetRegisterClass *RC) const;