OSDN Git Service

Reduce usage of MRegisterInfo::getRegClass
authorChris Lattner <sabre@nondot.org>
Sun, 15 Aug 2004 22:23:09 +0000 (22:23 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 15 Aug 2004 22:23:09 +0000 (22:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15784 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/RegAllocLocal.cpp

index 52c6b0d..6490688 100644 (file)
@@ -661,7 +661,7 @@ bool LiveIntervals::differingRegisterClasses(unsigned RegA,
   if (MRegisterInfo::isVirtualRegister(RegB))
     return RegClass != mf_->getSSARegMap()->getRegClass(RegB);
   else
-    return RegClass != mri_->getRegClass(RegB);
+    return RegClass->contains(RegB);
 }
 
 bool LiveIntervals::overlapsAliases(const LiveInterval *LHS,
index 8c04cd6..482325f 100644 (file)
@@ -391,7 +391,7 @@ unsigned RA::getReg(MachineBasicBlock &MBB, MachineInstr *I,
              "PhysReg in PhysRegsUseOrder, but is not allocated?");
       if (PhysRegsUsed[R]) {
         // If the current register is compatible, use it.
-        if (RegInfo->getRegClass(R) == RC) {
+        if (RC->contains(R)) {
           PhysReg = R;
           break;
         } else {
@@ -399,7 +399,7 @@ unsigned RA::getReg(MachineBasicBlock &MBB, MachineInstr *I,
           // compatible, use it.
           for (const unsigned *AliasSet = RegInfo->getAliasSet(R);
                *AliasSet; ++AliasSet) {
-            if (RegInfo->getRegClass(*AliasSet) == RC) {
+            if (RC->contains(*AliasSet)) {
               PhysReg = *AliasSet;    // Take an aliased register
               break;
             }