aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAlloc/PhyRegAlloc.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/RegAlloc/PhyRegAlloc.h')
-rw-r--r--lib/CodeGen/RegAlloc/PhyRegAlloc.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h
index 731eef29c4..dc7772e4a2 100644
--- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h
+++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h
@@ -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);
};