diff options
Diffstat (limited to 'lib/CodeGen/RegAlloc/PhyRegAlloc.h')
| -rw-r--r-- | lib/CodeGen/RegAlloc/PhyRegAlloc.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h index 438f2c5..6dcfa1f 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h @@ -29,6 +29,7 @@ class FunctionLiveVarInfo; class MachineInstr; class LoopInfo; class RegClass; +class Constant; //---------------------------------------------------------------------------- // Class AddedInstrns: @@ -77,6 +78,8 @@ class PhyRegAlloc : public FunctionPass { AddedInstrns AddedInstrAtEntry; // to store instrns added at entry const LoopInfo *LoopDepthCalc; // to calculate loop depths + std::map<const Function *, Constant *> FnAllocState; + PhyRegAlloc(const PhyRegAlloc&); // DO NOT IMPLEMENT void operator=(const PhyRegAlloc&); // DO NOT IMPLEMENT public: @@ -89,6 +92,8 @@ public: /// virtual bool runOnFunction (Function &F); + virtual bool doFinalization (Module &M); + virtual void getAnalysisUsage (AnalysisUsage &AU) const; const char *getPassName () const { @@ -108,6 +113,7 @@ private: void addInterferencesForArgs(); void createIGNodeListsAndIGs(); void buildInterferenceGraphs(); + void saveState(); void setCallInterferences(const MachineInstr *MI, const ValueSet *LVSetAft); |
