mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-04 21:30:49 +00:00
Add an issue width check to the postRA scheduler. Patch by Max Kazakov!
For targets with no itinerary (x86) it is a nop by default. For targets with issue width already expressed in the itinerary (ARM) it bypasses a scoreboard check but otherwise does not affect the schedule. It does make the code more consistent and complete and allows new targets to specify their issue width in an arbitrary way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132385 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1edbd6f3f0
commit
cf9aa284b3
@ -661,6 +661,12 @@ void SchedulePostRATDList::ListScheduleTopDown() {
|
||||
ScheduleNodeTopDown(FoundSUnit, CurCycle);
|
||||
HazardRec->EmitInstruction(FoundSUnit);
|
||||
CycleHasInsts = true;
|
||||
if (HazardRec->atIssueLimit()) {
|
||||
DEBUG(dbgs() << "*** Max instructions per cycle " << CurCycle << '\n');
|
||||
HazardRec->AdvanceCycle();
|
||||
++CurCycle;
|
||||
CycleHasInsts = false;
|
||||
}
|
||||
} else {
|
||||
if (CycleHasInsts) {
|
||||
DEBUG(dbgs() << "*** Finished cycle " << CurCycle << '\n');
|
||||
|
Loading…
Reference in New Issue
Block a user