mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-07 12:28:24 +00:00
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:
@@ -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);
|
||||||
|
Reference in New Issue
Block a user