LLVM 20.0.0git
|
A set of live virtual registers and physical register units. More...
#include "llvm/CodeGen/RegisterPressure.h"
Public Member Functions | |
void | clear () |
void | init (const MachineRegisterInfo &MRI) |
LaneBitmask | contains (Register Reg) const |
LaneBitmask | insert (RegisterMaskPair Pair) |
Mark the Pair.LaneMask lanes of Pair.Reg as live. | |
LaneBitmask | erase (RegisterMaskPair Pair) |
Clears the Pair.LaneMask lanes of Pair.Reg (mark them as dead). | |
size_t | size () const |
template<typename ContainerT > | |
void | appendTo (ContainerT &To) const |
A set of live virtual registers and physical register units.
This is a wrapper around a SparseSet which deals with mapping register unit and virtual register indexes to an index usable by the sparse set.
Definition at line 261 of file RegisterPressure.h.
|
inline |
Definition at line 334 of file RegisterPressure.h.
Referenced by llvm::RegPressureTracker::closeBottom(), and llvm::RegPressureTracker::closeTop().
void LiveRegSet::clear | ( | ) |
Definition at line 233 of file RegisterPressure.cpp.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::clear().
Referenced by llvm::RegPressureTracker::reset().
|
inline |
Definition at line 296 of file RegisterPressure.h.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::find(), llvm::LaneBitmask::getNone(), I, and Reg.
Referenced by llvm::RegPressureTracker::advance(), llvm::RegPressureTracker::bumpDeadDefs(), llvm::RegPressureTracker::bumpDownwardPressure(), llvm::RegPressureTracker::bumpUpwardPressure(), and llvm::RegPressureTracker::recede().
|
inline |
Clears the Pair.LaneMask
lanes of Pair.Reg
(mark them as dead).
Returns the previously live lanes of Pair.Reg
.
Definition at line 319 of file RegisterPressure.h.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::find(), llvm::LaneBitmask::getNone(), I, and llvm::RegisterMaskPair::RegUnit.
Referenced by llvm::RegPressureTracker::advance(), and llvm::RegPressureTracker::recede().
void LiveRegSet::init | ( | const MachineRegisterInfo & | MRI | ) |
Definition at line 225 of file RegisterPressure.cpp.
References MRI, llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::setUniverse(), and TRI.
Referenced by llvm::RegPressureTracker::init().
|
inline |
Mark the Pair.LaneMask
lanes of Pair.Reg
as live.
Returns the previously live lanes of Pair.Reg
.
Definition at line 306 of file RegisterPressure.h.
References llvm::LaneBitmask::getNone(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::insert(), llvm::RegisterMaskPair::LaneMask, and llvm::RegisterMaskPair::RegUnit.
Referenced by llvm::RegPressureTracker::addLiveRegs(), llvm::RegPressureTracker::advance(), and llvm::RegPressureTracker::recede().
|
inline |
Definition at line 329 of file RegisterPressure.h.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::size().
Referenced by llvm::RegPressureTracker::closeBottom(), llvm::RegPressureTracker::closeRegion(), and llvm::RegPressureTracker::closeTop().