From 705f95e0b7cb36b9f3786d4e8397f5226e4acd05 Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Mon, 18 Mar 2002 03:26:48 +0000 Subject: [PATCH] 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 --- lib/CodeGen/RegAlloc/PhyRegAlloc.h | 15 +++++++++++++-- lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h | 15 +++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) 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);