Big bug fix: getUsableUniRegAtMI needed to return values in arguments
authorVikram S. Adve <vadve@cs.uiuc.edu>
Mon, 18 Mar 2002 03:26:48 +0000 (03:26 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Mon, 18 Mar 2002 03:26:48 +0000 (03:26 +0000)
but did not pass the arguments by reference!
Also added a function to get a register class by ID.

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

lib/CodeGen/RegAlloc/PhyRegAlloc.h
lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h

index f3aef1cdc2fc28c533b24d32f0efe02ee9524575..ce922985871a67280fa58c8ff57dc8bf5922472d 100644 (file)
@@ -92,6 +92,17 @@ public:
   // main method called for allocating registers
   //
   void allocateRegisters();           
+
+
+  // access to register classes by class ID
+  // 
+  const RegClass*  getRegClassByID(unsigned int id) const {
+                                                    return RegClassList[id];
+  }
+        RegClass*  getRegClassByID(unsigned int id)       {
+                                                    return RegClassList[id]; }
+  
+  
 private:
 
 
@@ -133,8 +144,8 @@ private:
 
   int getUsableUniRegAtMI(RegClass *RC, int RegType, 
                          const MachineInstr *MInst,
-                         const ValueSet *LVSetBef, MachineInstr *MIBef, 
-                         MachineInstr *MIAft );
+                         const ValueSet *LVSetBef, MachineInstr *&MIBef, 
+                         MachineInstr *&MIAft );
 
   int getUnusedUniRegAtMI(RegClass *RC,  const MachineInstr *MInst, 
                       const ValueSet *LVSetBef);
index f3aef1cdc2fc28c533b24d32f0efe02ee9524575..ce922985871a67280fa58c8ff57dc8bf5922472d 100644 (file)
@@ -92,6 +92,17 @@ public:
   // main method called for allocating registers
   //
   void allocateRegisters();           
+
+
+  // access to register classes by class ID
+  // 
+  const RegClass*  getRegClassByID(unsigned int id) const {
+                                                    return RegClassList[id];
+  }
+        RegClass*  getRegClassByID(unsigned int id)       {
+                                                    return RegClassList[id]; }
+  
+  
 private:
 
 
@@ -133,8 +144,8 @@ private:
 
   int getUsableUniRegAtMI(RegClass *RC, int RegType, 
                          const MachineInstr *MInst,
-                         const ValueSet *LVSetBef, MachineInstr *MIBef, 
-                         MachineInstr *MIAft );
+                         const ValueSet *LVSetBef, MachineInstr *&MIBef, 
+                         MachineInstr *&MIAft );
 
   int getUnusedUniRegAtMI(RegClass *RC,  const MachineInstr *MInst, 
                       const ValueSet *LVSetBef);