diff options
author | Andrew Trick <atrick@apple.com> | 2013-08-30 03:49:48 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-08-30 03:49:48 +0000 |
commit | 1a8313458f4462e7cd0373df86c271ee527cb4a2 (patch) | |
tree | 08a9056cf5fa92bb87507624196c287212fb9e56 /llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp | |
parent | 057b04f6620c4ff49d4f1b6d41958f6f552b8ac4 (diff) | |
download | bcm5719-llvm-1a8313458f4462e7cd0373df86c271ee527cb4a2.tar.gz bcm5719-llvm-1a8313458f4462e7cd0373df86c271ee527cb4a2.zip |
mi-sched: Precompute a PressureDiff for each instruction, adjust for liveness later.
Created SUPressureDiffs array to hold the per node PDiff computed during DAG building.
Added a getUpwardPressureDelta API that will soon replace the old
one. Compute PressureDelta here from the precomputed PressureDiffs.
Updating for liveness will come next.
llvm-svn: 189640
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp b/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp index 10bb3e91f2d..22c485f51c4 100644 --- a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp +++ b/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp @@ -407,11 +407,11 @@ SUnit *ConvergingVLIWScheduler::SchedBoundary::pickOnlyChoice() { #ifndef NDEBUG void ConvergingVLIWScheduler::traceCandidate(const char *Label, const ReadyQueue &Q, - SUnit *SU, PressureElement P) { + SUnit *SU, PressureChange P) { dbgs() << Label << " " << Q.getName() << " "; if (P.isValid()) - dbgs() << DAG->TRI->getRegPressureSetName(P.PSetID) << ":" << P.UnitIncrease - << " "; + dbgs() << DAG->TRI->getRegPressureSetName(P.getPSet()) << ":" + << P.getUnitInc() << " "; else dbgs() << " "; SU->dump(DAG); @@ -517,8 +517,8 @@ int ConvergingVLIWScheduler::SchedulingCost(ReadyQueue &Q, SUnit *SU, ResCount += (NumNodesBlocking * ScaleTwo); // Factor in reg pressure as a heuristic. - ResCount -= (Delta.Excess.UnitIncrease*PriorityThree); - ResCount -= (Delta.CriticalMax.UnitIncrease*PriorityThree); + ResCount -= (Delta.Excess.getUnitInc()*PriorityThree); + ResCount -= (Delta.CriticalMax.getUnitInc()*PriorityThree); DEBUG(if (verbose) dbgs() << " Total(" << ResCount << ")"); |