The ScheduleDAG framework now requires an AliasAnalysis argument, though
authorDan Gohman <gohman@apple.com>
Fri, 9 Oct 2009 23:33:48 +0000 (23:33 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 9 Oct 2009 23:33:48 +0000 (23:33 +0000)
it isn't needed in the ScheduleDAGSDNodes schedulers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83691 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/ScheduleDAG.h
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h

index 2de095b8857885a9a25a997007093f77ae787ea1..4901d7807c4c18f95c54809eb97fee74a1cf2bff 100644 (file)
@@ -23,6 +23,7 @@
 #include "llvm/ADT/PointerIntPair.h"
 
 namespace llvm {
+  class AliasAnalysis;
   class SUnit;
   class MachineConstantPool;
   class MachineFunction;
@@ -490,7 +491,7 @@ namespace llvm {
     /// BuildSchedGraph - Build SUnits and set up their Preds and Succs
     /// to form the scheduling dependency graph.
     ///
-    virtual void BuildSchedGraph() = 0;
+    virtual void BuildSchedGraph(AliasAnalysis *AA) = 0;
 
     /// ComputeLatency - Compute node latency.
     ///
index 7eac4d81bb8090eaf547a91bb79ca905293355c5..e0f93d85c751d86ffd128c3a37ad6846b422c0bf 100644 (file)
@@ -117,7 +117,7 @@ void ScheduleDAGFast::Schedule() {
   LiveRegCycles.resize(TRI->getNumRegs(), 0);
 
   // Build the scheduling graph.
-  BuildSchedGraph();
+  BuildSchedGraph(NULL);
 
   DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
           SUnits[su].dumpAll(this));
index f17fe23fc75fd2b97bd71306ad235b62c507c3d8..c8d21584616a775885fa7cb041d9e9a0e34d21e6 100644 (file)
@@ -91,7 +91,7 @@ void ScheduleDAGList::Schedule() {
   DEBUG(errs() << "********** List Scheduling **********\n");
   
   // Build the scheduling graph.
-  BuildSchedGraph();
+  BuildSchedGraph(NULL);
 
   AvailableQueue->initNodes(SUnits);
   
index cd91b840d033695328414e935c69713c77c260e9..cec24e606f99da178c5c3c4b4ce345419ed2720a 100644 (file)
@@ -172,7 +172,7 @@ void ScheduleDAGRRList::Schedule() {
   LiveRegCycles.resize(TRI->getNumRegs(), 0);
 
   // Build the scheduling graph.
-  BuildSchedGraph();
+  BuildSchedGraph(NULL);
 
   DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
           SUnits[su].dumpAll(this));
index 3e2101aab8144e65164dc007d7fd47efeceedf55..9ca6d22c800b32a29c68b66453d9bcd7080c66f5 100644 (file)
@@ -230,7 +230,7 @@ void ScheduleDAGSDNodes::AddSchedEdges() {
 /// are input.  This SUnit graph is similar to the SelectionDAG, but
 /// excludes nodes that aren't interesting to scheduling, and represents
 /// flagged together nodes with a single SUnit.
-void ScheduleDAGSDNodes::BuildSchedGraph() {
+void ScheduleDAGSDNodes::BuildSchedGraph(AliasAnalysis *AA) {
   // Populate the SUnits array.
   BuildSchedUnits();
   // Compute all the scheduling dependencies between nodes.
index 0a6816a946fd34dce60dd68c761d876a87c8f071..aef1c22cf200d5719feac89e154fa5f6de48d171 100644 (file)
@@ -86,7 +86,7 @@ namespace llvm {
     /// are input.  This SUnit graph is similar to the SelectionDAG, but
     /// excludes nodes that aren't interesting to scheduling, and represents
     /// flagged together nodes with a single SUnit.
-    virtual void BuildSchedGraph();
+    virtual void BuildSchedGraph(AliasAnalysis *AA);
 
     /// ComputeLatency - Compute node latency.
     ///