diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-04-21 17:16:16 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-04-21 17:16:16 +0000 |
| commit | b21d3bfd1f9510c95897ac0efd27df87b1e23c02 (patch) | |
| tree | 085bb358bb409603a52fa4b33c6ede85818b5d45 /llvm/lib/CodeGen | |
| parent | 236d23b88ee828973cb0c79824af7d46fe0b465f (diff) | |
| download | bcm5719-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.cpp | 7 |
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); |

