@@ -750,9 +750,11 @@ void RegPressureTracker::bumpUpwardPressure(const MachineInstr *MI) {
750
750
// /
751
751
// / This assumes that the current LiveOut set is sufficient.
752
752
// /
753
- // / FIXME: This is expensive for an on-the-fly query. We need to cache the
754
- // / result per-SUnit with enough information to adjust for the current
755
- // / scheduling position. But this works as a proof of concept.
753
+ // / This is expensive for an on-the-fly query because it calls
754
+ // / bumpUpwardPressure to recompute the pressure sets based on current
755
+ // / liveness. This mainly exists to verify correctness, e.g. with
756
+ // / -verify-misched. getUpwardPressureDelta is the fast version of this query
757
+ // / that uses the per-SUnit cache of the PressureDiff.
756
758
void RegPressureTracker::
757
759
getMaxUpwardPressureDelta (const MachineInstr *MI, PressureDiff *PDiff,
758
760
RegPressureDelta &Delta,
@@ -809,10 +811,8 @@ getMaxUpwardPressureDelta(const MachineInstr *MI, PressureDiff *PDiff,
809
811
#endif
810
812
}
811
813
812
- // / This is a prototype of the fast version of querying register pressure that
813
- // / does not directly depend on current liveness. It's still slow because we
814
- // / recompute pressure change on-the-fly. This implementation only exists to
815
- // / prove correctness.
814
+ // / This is the fast version of querying register pressure that does not
815
+ // / directly depend on current liveness.
816
816
// /
817
817
// / @param Delta captures information needed for heuristics.
818
818
// /
@@ -950,6 +950,11 @@ void RegPressureTracker::bumpDownwardPressure(const MachineInstr *MI) {
950
950
// / register units of that pressure set introduced by this instruction.
951
951
// /
952
952
// / This assumes that the current LiveIn set is sufficient.
953
+ // /
954
+ // / This is expensive for an on-the-fly query because it calls
955
+ // / bumpDownwardPressure to recompute the pressure sets based on current
956
+ // / liveness. We don't yet have a fast version of downward pressure tracking
957
+ // / analagous to getUpwardPressureDelta.
953
958
void RegPressureTracker::
954
959
getMaxDownwardPressureDelta (const MachineInstr *MI, RegPressureDelta &Delta,
955
960
ArrayRef<PressureChange> CriticalPSets,
0 commit comments