Make #include "llvm/Analysis/LoopDepth.h" be an internal artifact of how register...
authorChris Lattner <sabre@nondot.org>
Mon, 4 Feb 2002 17:38:48 +0000 (17:38 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 4 Feb 2002 17:38:48 +0000 (17:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1693 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/RegAlloc/PhyRegAlloc.h
lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h

index 38f8dd774b7f943017ec674c80490f81b4a7f53d..8efa757026776cb359fef2ff116455f2a6b1caa7 100644 (file)
 
 #include "llvm/CodeGen/RegClass.h"
 #include "llvm/CodeGen/LiveRangeInfo.h"
-#include "llvm/Analysis/LoopDepth.h"
 #include <deque>
 class MachineCodeForMethod;
 class MachineRegInfo;
 class MethodLiveVarInfo;
 class MachineInstr;
+namespace cfg { class LoopDepthCalculator; }
 
 //----------------------------------------------------------------------------
 // Class AddedInstrns:
@@ -66,8 +66,7 @@ typedef std::hash_map<const MachineInstr *, AddedInstrns *> AddedInstrMapType;
 //----------------------------------------------------------------------------
 
 
-class PhyRegAlloc: public NonCopyable
-{
+class PhyRegAlloc: public NonCopyable {
 
   std::vector<RegClass *> RegClassList; // vector of register classes
   const TargetMachine &TM;              // target machine
@@ -81,10 +80,20 @@ class PhyRegAlloc: public NonCopyable
 
   
   AddedInstrMapType AddedInstrMap;      // to store instrns added in this phase
-  cfg::LoopDepthCalculator LoopDepthCalc;    // to calculate loop depths 
+  cfg::LoopDepthCalculator *LoopDepthCalc;    // to calculate loop depths 
   ReservedColorListType ResColList;     // A set of reserved regs if desired.
                                         // currently not used
 
+public:
+  PhyRegAlloc(Method *M, const TargetMachine& TM, MethodLiveVarInfo *Lvi,
+              cfg::LoopDepthCalculator *LoopDepthCalc);
+  ~PhyRegAlloc();
+
+  // main method called for allocating registers
+  //
+  void allocateRegisters();           
+private:
+
 
 
   //------- ------------------ private methods---------------------------------
@@ -134,16 +143,6 @@ class PhyRegAlloc: public NonCopyable
   int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);
 
   void addInterf4PseudoInstr(const MachineInstr *MInst);
-
- public:
-  PhyRegAlloc(Method *const M, const TargetMachine& TM, 
-             MethodLiveVarInfo *const Lvi);
-  ~PhyRegAlloc(); 
-
-  // main method called for allocating registers
-  //
-  void allocateRegisters();           
-
 };
 
 
index 38f8dd774b7f943017ec674c80490f81b4a7f53d..8efa757026776cb359fef2ff116455f2a6b1caa7 100644 (file)
 
 #include "llvm/CodeGen/RegClass.h"
 #include "llvm/CodeGen/LiveRangeInfo.h"
-#include "llvm/Analysis/LoopDepth.h"
 #include <deque>
 class MachineCodeForMethod;
 class MachineRegInfo;
 class MethodLiveVarInfo;
 class MachineInstr;
+namespace cfg { class LoopDepthCalculator; }
 
 //----------------------------------------------------------------------------
 // Class AddedInstrns:
@@ -66,8 +66,7 @@ typedef std::hash_map<const MachineInstr *, AddedInstrns *> AddedInstrMapType;
 //----------------------------------------------------------------------------
 
 
-class PhyRegAlloc: public NonCopyable
-{
+class PhyRegAlloc: public NonCopyable {
 
   std::vector<RegClass *> RegClassList; // vector of register classes
   const TargetMachine &TM;              // target machine
@@ -81,10 +80,20 @@ class PhyRegAlloc: public NonCopyable
 
   
   AddedInstrMapType AddedInstrMap;      // to store instrns added in this phase
-  cfg::LoopDepthCalculator LoopDepthCalc;    // to calculate loop depths 
+  cfg::LoopDepthCalculator *LoopDepthCalc;    // to calculate loop depths 
   ReservedColorListType ResColList;     // A set of reserved regs if desired.
                                         // currently not used
 
+public:
+  PhyRegAlloc(Method *M, const TargetMachine& TM, MethodLiveVarInfo *Lvi,
+              cfg::LoopDepthCalculator *LoopDepthCalc);
+  ~PhyRegAlloc();
+
+  // main method called for allocating registers
+  //
+  void allocateRegisters();           
+private:
+
 
 
   //------- ------------------ private methods---------------------------------
@@ -134,16 +143,6 @@ class PhyRegAlloc: public NonCopyable
   int getUniRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst);
 
   void addInterf4PseudoInstr(const MachineInstr *MInst);
-
- public:
-  PhyRegAlloc(Method *const M, const TargetMachine& TM, 
-             MethodLiveVarInfo *const Lvi);
-  ~PhyRegAlloc(); 
-
-  // main method called for allocating registers
-  //
-  void allocateRegisters();           
-
 };