mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
misched: When querying RegisterPressureTracker, always save current and max pressure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158340 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -811,25 +811,31 @@ getMaxDownwardPressureDelta(const MachineInstr *MI, RegPressureDelta &Delta,
|
||||
/// Get the pressure of each PSet after traversing this instruction bottom-up.
|
||||
void RegPressureTracker::
|
||||
getUpwardPressure(const MachineInstr *MI,
|
||||
std::vector<unsigned> &PressureResult) {
|
||||
std::vector<unsigned> &PressureResult,
|
||||
std::vector<unsigned> &MaxPressureResult) {
|
||||
// Snapshot pressure.
|
||||
PressureResult = CurrSetPressure;
|
||||
MaxPressureResult = P.MaxSetPressure;
|
||||
|
||||
bumpUpwardPressure(MI);
|
||||
|
||||
// Current pressure becomes the result. Restore current pressure.
|
||||
P.MaxSetPressure.swap(MaxPressureResult);
|
||||
CurrSetPressure.swap(PressureResult);
|
||||
}
|
||||
|
||||
/// Get the pressure of each PSet after traversing this instruction top-down.
|
||||
void RegPressureTracker::
|
||||
getDownwardPressure(const MachineInstr *MI,
|
||||
std::vector<unsigned> &PressureResult) {
|
||||
std::vector<unsigned> &PressureResult,
|
||||
std::vector<unsigned> &MaxPressureResult) {
|
||||
// Snapshot pressure.
|
||||
PressureResult = CurrSetPressure;
|
||||
MaxPressureResult = P.MaxSetPressure;
|
||||
|
||||
bumpDownwardPressure(MI);
|
||||
|
||||
// Current pressure becomes the result. Restore current pressure.
|
||||
P.MaxSetPressure.swap(MaxPressureResult);
|
||||
CurrSetPressure.swap(PressureResult);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user