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 | 4a1cd9c61e3e648587d33d5f02ddad97e87f16aa (patch) | |
tree | f6954d176a62019b4485da6d210c9026ff02043b | |
parent | 62af9e6cfcf8e2eba6febd068c18f86f4e3c5bad (diff) | |
download | external_llvm-4a1cd9c61e3e648587d33d5f02ddad97e87f16aa.zip external_llvm-4a1cd9c61e3e648587d33d5f02ddad97e87f16aa.tar.gz external_llvm-4a1cd9c61e3e648587d33d5f02ddad97e87f16aa.tar.bz2 |
The BFS scheduler is apparently nondeterminstic (causes many llvmgcc bootstrap
miscompares). Switch RISC targets to use the list-td scheduler, which isn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27933 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index e5e462b..96a81e0 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/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); |