summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-21 17:16:16 +0000
committerChris Lattner <sabre@nondot.org>2006-04-21 17:16:16 +0000
commitb21d3bfd1f9510c95897ac0efd27df87b1e23c02 (patch)
tree085bb358bb409603a52fa4b33c6ede85818b5d45 /llvm/lib/CodeGen
parent236d23b88ee828973cb0c79824af7d46fe0b465f (diff)
downloadbcm5719-llvm-b21d3bfd1f9510c95897ac0efd27df87b1e23c02.tar.gz
bcm5719-llvm-b21d3bfd1f9510c95897ac0efd27df87b1e23c02.zip
The BFS scheduler is apparently nondeterminstic (causes many llvmgcc bootstrap
miscompares). Switch RISC targets to use the list-td scheduler, which isn't. llvm-svn: 27933
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index e5e462bb3b4..96a81e09383 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -3126,9 +3126,12 @@ void SelectionDAGISel::ScheduleAndEmitDAG(SelectionDAG &DAG) {
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);
OpenPOWER on IntegriCloud