LLVM API Documentation
Base class for register pressure results. More...
#include <RegisterPressure.h>


Public Member Functions | |
| void | increase (unsigned Reg, const TargetRegisterInfo *TRI, const MachineRegisterInfo *MRI) |
| Directly increase pressure only within this RegisterPressure result. | |
| void | decrease (unsigned Reg, const TargetRegisterInfo *TRI, const MachineRegisterInfo *MRI) |
| Directly decrease pressure only within this RegisterPressure result. | |
| void | dump (const TargetRegisterInfo *TRI) const |
Public Attributes | |
| std::vector< unsigned > | MaxSetPressure |
| Map of max reg pressure indexed by pressure set ID, not class ID. | |
| SmallVector< unsigned, 8 > | LiveInRegs |
| List of live in virtual registers or physical register units. | |
| SmallVector< unsigned, 8 > | LiveOutRegs |
Base class for register pressure results.
Definition at line 30 of file RegisterPressure.h.
| void RegisterPressure::decrease | ( | unsigned | Reg, |
| const TargetRegisterInfo * | TRI, | ||
| const MachineRegisterInfo * | MRI | ||
| ) |
Directly decrease pressure only within this RegisterPressure result.
Decrease register pressure for each pressure set impacted by this register class. This is only useful to account for spilling or rematerialization.
| Reg | is either a virtual register number or register unit number. |
Definition at line 65 of file RegisterPressure.cpp.
References decreaseSetPressure(), llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassPressureSets(), llvm::TargetRegisterInfo::getRegClassWeight(), llvm::TargetRegisterInfo::getRegUnitPressureSets(), llvm::TargetRegisterInfo::getRegUnitWeight(), llvm::TargetRegisterInfo::isVirtualRegister(), MaxSetPressure, and llvm::RegClassWeight::RegWeight.
| void RegisterPressure::dump | ( | const TargetRegisterInfo * | TRI | ) | const |
Definition at line 87 of file RegisterPressure.cpp.
References llvm::dbgs(), dumpSetPressure(), LiveInRegs, LiveOutRegs, MaxSetPressure, and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::RegPressureTracker::dump(), and llvm::ScheduleDAGMI::initRegPressure().
| void RegisterPressure::increase | ( | unsigned | Reg, |
| const TargetRegisterInfo * | TRI, | ||
| const MachineRegisterInfo * | MRI | ||
| ) |
Directly increase pressure only within this RegisterPressure result.
Increase register pressure for each pressure set impacted by this register class. Normally called by RegPressureTracker, but may be called manually to account for live through (global liveness).
| Reg | is either a virtual register number or register unit number. |
Definition at line 49 of file RegisterPressure.cpp.
References llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassPressureSets(), llvm::TargetRegisterInfo::getRegClassWeight(), llvm::TargetRegisterInfo::getRegUnitPressureSets(), llvm::TargetRegisterInfo::getRegUnitWeight(), increaseSetPressure(), llvm::TargetRegisterInfo::isVirtualRegister(), MaxSetPressure, and llvm::RegClassWeight::RegWeight.
Referenced by llvm::RegPressureTracker::discoverLiveIn(), and llvm::RegPressureTracker::discoverLiveOut().
List of live in virtual registers or physical register units.
Definition at line 35 of file RegisterPressure.h.
Referenced by llvm::RegPressureTracker::closeTop(), llvm::RegPressureTracker::discoverLiveIn(), dump(), llvm::ScheduleDAGMI::initRegPressure(), llvm::IntervalPressure::openBottom(), llvm::RegionPressure::openBottom(), llvm::IntervalPressure::openTop(), llvm::RegionPressure::openTop(), llvm::IntervalPressure::reset(), and llvm::RegionPressure::reset().
Definition at line 36 of file RegisterPressure.h.
Referenced by llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::discoverLiveOut(), dump(), llvm::ScheduleDAGMI::initRegPressure(), llvm::IntervalPressure::reset(), and llvm::RegionPressure::reset().
| std::vector<unsigned> llvm::RegisterPressure::MaxSetPressure |
Map of max reg pressure indexed by pressure set ID, not class ID.
Definition at line 32 of file RegisterPressure.h.
Referenced by decrease(), dump(), llvm::RegPressureTracker::getDownwardPressure(), llvm::RegPressureTracker::getMaxDownwardPressureDelta(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), llvm::RegPressureTracker::getUpwardPressure(), increase(), llvm::RegPressureTracker::increaseRegPressure(), llvm::RegPressureTracker::init(), llvm::ScheduleDAGMI::initRegPressure(), llvm::ConvergingVLIWScheduler::pickNodeFromQueue(), llvm::IntervalPressure::reset(), llvm::RegionPressure::reset(), and llvm::ScheduleDAGMI::scheduleMI().