Remove unused field. Change the way unused regs. are marked and
authorVikram S. Adve <vadve@cs.uiuc.edu>
Fri, 25 Jul 2003 21:00:13 +0000 (21:00 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Fri, 25 Jul 2003 21:00:13 +0000 (21:00 +0000)
found to consider regType info (since multiple reg types may share
the same reg class, e.g., single and double on Sparc).

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

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

index 731eef29c45bcd0f5886a52b3fa3514057f97e7c..dc7772e4a2385bac12ecd2d66c341f070cba4d3f 100644 (file)
@@ -71,8 +71,6 @@ class PhyRegAlloc : public NonCopyable {
 
   AddedInstrns AddedInstrAtEntry;       // to store instrns added at entry
   LoopInfo *LoopDepthCalc;              // to calculate loop depths 
-  std::vector<unsigned> ResColList;     // A set of reserved regs if desired.
-                                        // currently not used
 
 public:
   PhyRegAlloc(Function *F, const TargetMachine& TM, FunctionLiveVarInfo *Lvi,
@@ -87,11 +85,11 @@ public:
   // access to register classes by class ID
   // 
   const RegClass*  getRegClassByID(unsigned int id) const {
-                                                    return RegClassList[id];
+    return RegClassList[id];
+  }
+  RegClass*  getRegClassByID(unsigned int id) {
+    return RegClassList[id];
   }
-        RegClass*  getRegClassByID(unsigned int id)       {
-                                                    return RegClassList[id]; }
-  
   
 private:
   void addInterference(const Value *Def, const ValueSet *LVSet, 
@@ -134,11 +132,14 @@ private:
                           std::vector<MachineInstr*>& MIBef,
                           std::vector<MachineInstr*>& MIAft);
   
-  int getUnusedUniRegAtMI(RegClass *RC,  const MachineInstr *MInst, 
-                          const ValueSet *LVSetBef);
+  int getUnusedUniRegAtMI(RegClass *RC, const int RegType,
+                          const MachineInstr *MInst, const ValueSet *LVSetBef);
+
+  void setRelRegsUsedByThisInst(RegClass *RC, const int RegType,
+                                const MachineInstr *MInst );
 
-  void setRelRegsUsedByThisInst(RegClass *RC, const MachineInstr *MInst );
-  int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);
+  int getUniRegNotUsedByThisInst(RegClass *RC, const int RegType,
+                                 const MachineInstr *MInst);
 
   void addInterf4PseudoInstr(const MachineInstr *MInst);
 };
index 731eef29c45bcd0f5886a52b3fa3514057f97e7c..dc7772e4a2385bac12ecd2d66c341f070cba4d3f 100644 (file)
@@ -71,8 +71,6 @@ class PhyRegAlloc : public NonCopyable {
 
   AddedInstrns AddedInstrAtEntry;       // to store instrns added at entry
   LoopInfo *LoopDepthCalc;              // to calculate loop depths 
-  std::vector<unsigned> ResColList;     // A set of reserved regs if desired.
-                                        // currently not used
 
 public:
   PhyRegAlloc(Function *F, const TargetMachine& TM, FunctionLiveVarInfo *Lvi,
@@ -87,11 +85,11 @@ public:
   // access to register classes by class ID
   // 
   const RegClass*  getRegClassByID(unsigned int id) const {
-                                                    return RegClassList[id];
+    return RegClassList[id];
+  }
+  RegClass*  getRegClassByID(unsigned int id) {
+    return RegClassList[id];
   }
-        RegClass*  getRegClassByID(unsigned int id)       {
-                                                    return RegClassList[id]; }
-  
   
 private:
   void addInterference(const Value *Def, const ValueSet *LVSet, 
@@ -134,11 +132,14 @@ private:
                           std::vector<MachineInstr*>& MIBef,
                           std::vector<MachineInstr*>& MIAft);
   
-  int getUnusedUniRegAtMI(RegClass *RC,  const MachineInstr *MInst, 
-                          const ValueSet *LVSetBef);
+  int getUnusedUniRegAtMI(RegClass *RC, const int RegType,
+                          const MachineInstr *MInst, const ValueSet *LVSetBef);
+
+  void setRelRegsUsedByThisInst(RegClass *RC, const int RegType,
+                                const MachineInstr *MInst );
 
-  void setRelRegsUsedByThisInst(RegClass *RC, const MachineInstr *MInst );
-  int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);
+  int getUniRegNotUsedByThisInst(RegClass *RC, const int RegType,
+                                 const MachineInstr *MInst);
 
   void addInterf4PseudoInstr(const MachineInstr *MInst);
 };