Remove unused field. Change the way unused regs. are marked and

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
This commit is contained in:
Vikram S. Adve 2003-07-25 21:00:13 +00:00
parent b1e6f05110
commit 34a856749f
2 changed files with 22 additions and 20 deletions

View 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 MachineInstr *MInst );
int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);
void setRelRegsUsedByThisInst(RegClass *RC, const int RegType,
const MachineInstr *MInst );
int getUniRegNotUsedByThisInst(RegClass *RC, const int RegType,
const MachineInstr *MInst);
void addInterf4PseudoInstr(const MachineInstr *MInst);
};

View 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 MachineInstr *MInst );
int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);
void setRelRegsUsedByThisInst(RegClass *RC, const int RegType,
const MachineInstr *MInst );
int getUniRegNotUsedByThisInst(RegClass *RC, const int RegType,
const MachineInstr *MInst);
void addInterf4PseudoInstr(const MachineInstr *MInst);
};