[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri Apr 21 10:16:28 PDT 2006



Changes in directory llvm/lib/CodeGen/SelectionDAG:

SelectionDAGISel.cpp updated: 1.222 -> 1.223
---
Log message:

The BFS scheduler is apparently nondeterminstic (causes many llvmgcc bootstrap
miscompares).  Switch RISC targets to use the list-td scheduler, which isn't.


---
Diffs of the changes:  (+5 -2)

 SelectionDAGISel.cpp |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.222 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.223
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.222	Wed Apr 12 11:20:43 2006
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Fri Apr 21 12:16:16 2006
@@ -3126,9 +3126,12 @@
   default: assert(0 && "Unrecognized scheduling heuristic");
   case defaultScheduling:
     if (TLI.getSchedulingPreference() == TargetLowering::SchedulingForLatency)
-      SL = createSimpleDAGScheduler(noScheduling, DAG, BB);
-    else /* TargetLowering::SchedulingForRegPressure */
+      SL = createTDListDAGScheduler(DAG, BB, CreateTargetHazardRecognizer());
+    else {
+      assert(TLI.getSchedulingPreference() ==
+             TargetLowering::SchedulingForRegPressure && "Unknown sched type!");
       SL = createBURRListDAGScheduler(DAG, BB);
+    }
     break;
   case noScheduling:
     SL = createBFS_DAGScheduler(DAG, BB);






More information about the llvm-commits mailing list