Untabify tabs in stuff I've recently added.
[oota-llvm.git] / lib / CodeGen / RegAlloc / PhyRegAlloc.h
index 438f2c56a91a5fd58458da197fcff51478b5bc7b..6dcfa1feff51c5df8929a0f2270c27cce127e90b 100644 (file)
@@ -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);