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
This commit is contained in:
Chris Lattner
2006-04-21 17:16:16 +00:00
parent 62af9e6cfc
commit 4a1cd9c61e

View File

@@ -3126,9 +3126,12 @@ void SelectionDAGISel::ScheduleAndEmitDAG(SelectionDAG &DAG) {
default: assert(0 && "Unrecognized scheduling heuristic"); default: assert(0 && "Unrecognized scheduling heuristic");
case defaultScheduling: case defaultScheduling:
if (TLI.getSchedulingPreference() == TargetLowering::SchedulingForLatency) if (TLI.getSchedulingPreference() == TargetLowering::SchedulingForLatency)
SL = createSimpleDAGScheduler(noScheduling, DAG, BB); SL = createTDListDAGScheduler(DAG, BB, CreateTargetHazardRecognizer());
else /* TargetLowering::SchedulingForRegPressure */ else {
assert(TLI.getSchedulingPreference() ==
TargetLowering::SchedulingForRegPressure && "Unknown sched type!");
SL = createBURRListDAGScheduler(DAG, BB); SL = createBURRListDAGScheduler(DAG, BB);
}
break; break;
case noScheduling: case noScheduling:
SL = createBFS_DAGScheduler(DAG, BB); SL = createBFS_DAGScheduler(DAG, BB);