* The itf exposed by InstrScheduling is now a single function to create the right pass
* InstructionScheduling is now a real pass
* InstrSched _uses_ LiveVar analysis, instead of creating it's own copy many times
  through a loop.  In this was LiveVarAnalysis is actually even SHARED by Register
  allocation.
* SchedPriorities is now passed the live var information in


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1700 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/InstrSched/SchedPriorities.h b/lib/CodeGen/InstrSched/SchedPriorities.h
index 884a049..7cfc4c0 100644
--- a/lib/CodeGen/InstrSched/SchedPriorities.h
+++ b/lib/CodeGen/InstrSched/SchedPriorities.h
@@ -23,7 +23,6 @@
 
 #include "SchedGraph.h"
 #include "llvm/CodeGen/InstrScheduling.h"
-#include "llvm/Analysis/LiveVar/MethodLiveVarInfo.h"
 #include "llvm/Target/MachineSchedInfo.h"
 #include "Support/CommandLine.h"
 #include <list>
@@ -31,6 +30,7 @@
 class Method;
 class MachineInstr;
 class SchedulingManager;
+class MethodLiveVarInfo;
 
 //---------------------------------------------------------------------------
 // Debug option levels for instruction scheduling
@@ -124,8 +124,8 @@
 
 class SchedPriorities: public NonCopyable {
 public:
-  /*ctor*/	SchedPriorities		(const Method* method,
-					 const SchedGraph* _graph);
+  SchedPriorities(const Method *M, const SchedGraph *G, MethodLiveVarInfo &LVI);
+                  
   
   // This must be called before scheduling begins.
   void		initialize		();
@@ -154,7 +154,7 @@
 private:
   cycles_t curTime;
   const SchedGraph* graph;
-  MethodLiveVarInfo methodLiveVarInfo;
+  MethodLiveVarInfo &methodLiveVarInfo;
   std::hash_map<const MachineInstr*, bool> lastUseMap;
   std::vector<cycles_t> nodeDelayVec;
   std::vector<cycles_t> earliestForNode;