Big bug fix: getUsableUniRegAtMI needed to return values in arguments
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
diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h
index f3aef1c..ce92298 100644
--- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h
+++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h
@@ -92,6 +92,17 @@
// 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 @@
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);