diff options
Diffstat (limited to 'lib/CodeGen/RegAlloc')
-rw-r--r-- | lib/CodeGen/RegAlloc/LiveRangeInfo.h | 8 | ||||
-rw-r--r-- | lib/CodeGen/RegAlloc/PhyRegAlloc.h | 1 | ||||
-rw-r--r-- | lib/CodeGen/RegAlloc/RegClass.h | 1 |
3 files changed, 9 insertions, 1 deletions
diff --git a/lib/CodeGen/RegAlloc/LiveRangeInfo.h b/lib/CodeGen/RegAlloc/LiveRangeInfo.h index 9d386c1d98..da5601790a 100644 --- a/lib/CodeGen/RegAlloc/LiveRangeInfo.h +++ b/lib/CodeGen/RegAlloc/LiveRangeInfo.h @@ -54,6 +54,10 @@ private: LiveRangeMapType LiveRangeMap; // A map from Value * to LiveRange * // created by constructLiveRanges + const TargetMachine& TM; // target machine description + vector<RegClass *> & RegClassList;// a vector containing register classess + + void unionAndUpdateLRs(LiveRange *L1, LiveRange *L2); void addInterference(const Instruction *const Inst, @@ -62,7 +66,9 @@ private: public: - LiveRangeInfo(const Method *const M); + LiveRangeInfo(const Method *const M, + const TargetMachine& tm, + vector<RegClass *> & RCList); void constructLiveRanges(); diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h index f21581dd6e..eacb6480ae 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h @@ -70,6 +70,7 @@ class PhyRegAlloc AddedInstrMapType AddedInstrMap; // to store instrns added in this phase + //------- private methods --------------------------------------------------- void addInterference(const Value *const Def, const LiveVarSet *const LVSet, diff --git a/lib/CodeGen/RegAlloc/RegClass.h b/lib/CodeGen/RegAlloc/RegClass.h index a8fc0ae1bc..723443da9a 100644 --- a/lib/CodeGen/RegAlloc/RegClass.h +++ b/lib/CodeGen/RegAlloc/RegClass.h @@ -22,6 +22,7 @@ #include "llvm/CodeGen/IGNode.h" #include "llvm/CodeGen/InterferenceGraph.h" #include "llvm/Target/Machine.h" +#include "llvm/Target/RegInfo.h" #include <stack> typedef vector<unsigned int> ReservedColorListType; |