Lines Matching full:pressure

1 //===- RegisterPressure.cpp - Dynamic Register Pressure -------------------===//
10 // MachineInstr level register pressure.
49 /// Increase pressure for each pressure set provided by TargetRegisterInfo.
63 /// Decrease pressure for each pressure set provided by TargetRegisterInfo.
74 assert(CurrSetPressure[*PSetI] >= Weight && "register pressure underflow"); in decreaseSetPressure()
96 dbgs() << "Max Pressure: "; in dump()
119 dbgs() << "Curr Pressure: "; in dump()
176 /// Clear the result so it can be used for another round of pressure tracking.
184 /// Clear the result so it can be used for another round of pressure tracking.
193 /// We happen to need the SlotIndex for the next top for pressure update.
262 /// TODO: Add support for pressure without LiveIntervals.
294 /// Does this pressure result have a valid top position and live ins.
302 /// Does this pressure result have a valid bottom position and live outs.
325 assert(P.LiveInRegs.empty() && "inconsistent max pressure result"); in closeTop()
337 assert(P.LiveOutRegs.empty() && "inconsistent max pressure result"); in closeBottom()
358 /// can never drop below this pressure.
662 /// Add a change in pressure to the pressure diff of a given instruction.
668 // Find an existing entry in the pressure diff for this PSet. in addPressureChange()
674 // If all pressure sets are more constrained, skip the remaining PSets. in addPressureChange()
683 // Update the units for this pressure set. in addPressureChange()
753 /// registers that are both defined and used by the instruction. If a pressure
754 /// difference pointer is provided record the changes is pressure caused by this
760 // Boost pressure for all dead defs together. in recede()
774 // Retroactively model effects on pressure of the live out lanes. in recede()
932 // Boost pressure for all dead defs together. in advance()
950 /// Find the max change in excess pressure across all sets.
984 /// Find the max change in max pressure that either surpasses a critical PSet
989 /// RegPressureTracker API change to work with pressure differences.
1029 /// pressure. Unlike the advance/recede pressure tracking interface, this does
1032 /// This is intended for speculative queries. It leaves pressure inconsistent
1041 // Account for register pressure similar to RegPressureTracker::recede(). in bumpUpwardPressure()
1050 // Boost max pressure for all dead defs together. in bumpUpwardPressure()
1081 /// Consider the pressure increase caused by traversing this instruction
1082 /// bottom-up. Find the pressure set with the most change beyond its pressure
1083 /// limit based on the tracker's current pressure, and return the change in
1084 /// number of register units of that pressure set introduced by this
1090 /// bumpUpwardPressure to recompute the pressure sets based on current
1099 // Snapshot Pressure. in getMaxUpwardPressureDelta()
1101 // summarize the pressure effect so we don't need to snapshot at all. in getMaxUpwardPressureDelta()
1112 Delta.CurrentMax.getUnitInc() >= 0 && "cannot decrease max pressure"); in getMaxUpwardPressureDelta()
1152 /// This is the fast version of querying register pressure that does not
1157 /// @param CriticalPSets Are the pressure sets that are known to exceed some
1160 /// @param MaxPressureLimit Is the max pressure within the region, not
1186 // Check if current pressure has exceeded the limit. in getUpwardPressureDelta()
1198 // Check if max pressure has exceeded a critical pressure set max. in getUpwardPressureDelta()
1213 // Check if max pressure has exceeded the current max. in getUpwardPressureDelta()
1279 /// pressure. Unlike the advance/recede pressure tracking interface, this does
1282 /// This is intended for speculative queries. It leaves pressure inconsistent
1291 // Account for register pressure similar to RegPressureTracker::advance(). in bumpDownwardPressure()
1328 // Boost pressure for all dead defs together. in bumpDownwardPressure()
1332 /// Consider the pressure increase caused by traversing this instruction
1333 /// top-down. Find the register class with the most change in its pressure limit
1334 /// based on the tracker's current pressure, and return the number of excess
1335 /// register units of that pressure set introduced by this instruction.
1340 /// bumpDownwardPressure to recompute the pressure sets based on current
1341 /// liveness. We don't yet have a fast version of downward pressure tracking
1347 // Snapshot Pressure. in getMaxDownwardPressureDelta()
1358 Delta.CurrentMax.getUnitInc() >= 0 && "cannot decrease max pressure"); in getMaxDownwardPressureDelta()
1365 /// Get the pressure of each PSet after traversing this instruction bottom-up.
1370 // Snapshot pressure. in getUpwardPressure()
1376 // Current pressure becomes the result. Restore current pressure. in getUpwardPressure()
1381 /// Get the pressure of each PSet after traversing this instruction top-down.
1386 // Snapshot pressure. in getDownwardPressure()
1392 // Current pressure becomes the result. Restore current pressure. in getDownwardPressure()