#include <hash_map>
#include <string>
+class TargetMachine;
class IGNode;
class Value;
class LiveRangeInfo;
class MachineRegClassInfo {
-
protected:
const unsigned RegClassID; // integer ID of a reg class
MachineRegClassInfo(const unsigned ID, const unsigned NVR,
const unsigned NAR): RegClassID(ID), NumOfAvailRegs(NVR),
- NumOfAllRegs(NAR)
+ NumOfAllRegs(NAR)
{ } // empty constructor
};
class MachineRegInfo : public NonCopyableV {
+public:
+ const TargetMachine& target;
protected:
//virtual void printReg(const LiveRange *const LR) const =0;
- MachineRegInfo() { }
+ MachineRegInfo(const TargetMachine& tgt) : target(tgt) { }
};
class MachineSchedInfo : public NonCopyableV {
public:
+ const TargetMachine& target;
+
unsigned int maxNumIssueTotal;
int longestIssueConflict;
}
public:
- /*ctor*/ MachineSchedInfo (int _numSchedClasses,
- const MachineInstrInfo* _mii,
+ /*ctor*/ MachineSchedInfo (const TargetMachine& tgt,
+ int _numSchedClasses,
const InstrClassRUsage* _classRUsages,
const InstrRUsageDelta* _usageDeltas,
const InstrIssueDelta* _issueDeltas,