//===-- PhyRegAlloc.h - Graph Coloring Register Allocator -------*- c++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
//
// This is the main entry point for register allocation.
//
class MachineInstr;
class LoopInfo;
class RegClass;
+class Constant;
//----------------------------------------------------------------------------
// Class AddedInstrns:
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:
///
virtual bool runOnFunction (Function &F);
+ virtual bool doFinalization (Module &M);
+
virtual void getAnalysisUsage (AnalysisUsage &AU) const;
const char *getPassName () const {
void addInterferencesForArgs();
void createIGNodeListsAndIGs();
void buildInterferenceGraphs();
+ void saveState();
void setCallInterferences(const MachineInstr *MI,
const ValueSet *LVSetAft);