Include handle to TargetMachine in each Machine...Info class.

llvm-svn: 1201
This commit is contained in:
Vikram S. Adve 2001-11-08 05:22:43 +00:00
parent 06d8c600ea
commit e6ecf513a1
2 changed files with 9 additions and 5 deletions

View File

@ -12,6 +12,7 @@
#include <hash_map> #include <hash_map>
#include <string> #include <string>
class TargetMachine;
class IGNode; class IGNode;
class Value; class Value;
class LiveRangeInfo; class LiveRangeInfo;
@ -37,7 +38,6 @@ class BasicBlock;
class MachineRegClassInfo { class MachineRegClassInfo {
protected: protected:
const unsigned RegClassID; // integer ID of a reg class const unsigned RegClassID; // integer ID of a reg class
@ -59,7 +59,7 @@ public:
MachineRegClassInfo(const unsigned ID, const unsigned NVR, MachineRegClassInfo(const unsigned ID, const unsigned NVR,
const unsigned NAR): RegClassID(ID), NumOfAvailRegs(NVR), const unsigned NAR): RegClassID(ID), NumOfAvailRegs(NVR),
NumOfAllRegs(NAR) NumOfAllRegs(NAR)
{ } // empty constructor { } // empty constructor
}; };
@ -83,6 +83,8 @@ typedef vector<const MachineRegClassInfo *> MachineRegClassArrayType;
class MachineRegInfo : public NonCopyableV { class MachineRegInfo : public NonCopyableV {
public:
const TargetMachine& target;
protected: protected:
@ -190,7 +192,7 @@ public:
//virtual void printReg(const LiveRange *const LR) const =0; //virtual void printReg(const LiveRange *const LR) const =0;
MachineRegInfo() { } MachineRegInfo(const TargetMachine& tgt) : target(tgt) { }
}; };

View File

@ -280,6 +280,8 @@ InstrRUsage::addUsageDelta(const InstrRUsageDelta& delta)
class MachineSchedInfo : public NonCopyableV { class MachineSchedInfo : public NonCopyableV {
public: public:
const TargetMachine& target;
unsigned int maxNumIssueTotal; unsigned int maxNumIssueTotal;
int longestIssueConflict; int longestIssueConflict;
@ -305,8 +307,8 @@ protected:
} }
public: public:
/*ctor*/ MachineSchedInfo (int _numSchedClasses, /*ctor*/ MachineSchedInfo (const TargetMachine& tgt,
const MachineInstrInfo* _mii, int _numSchedClasses,
const InstrClassRUsage* _classRUsages, const InstrClassRUsage* _classRUsages,
const InstrRUsageDelta* _usageDeltas, const InstrRUsageDelta* _usageDeltas,
const InstrIssueDelta* _issueDeltas, const InstrIssueDelta* _issueDeltas,