From: Vikram S. Adve Date: Mon, 18 Mar 2002 03:26:48 +0000 (+0000) Subject: Big bug fix: getUsableUniRegAtMI needed to return values in arguments X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=705f95e0b7cb36b9f3786d4e8397f5226e4acd05;p=oota-llvm.git 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 f3aef1cdc2f..ce922985871 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h @@ -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); diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h index f3aef1cdc2f..ce922985871 100644 --- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h +++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h @@ -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);