LLVM 22.0.0git
|
A set of live virtual registers and physical register units. More...
#include "llvm/CodeGen/RegisterPressure.h"
Public Member Functions | |
LLVM_ABI void | clear () |
LLVM_ABI void | init (const MachineRegisterInfo &MRI) |
LaneBitmask | contains (Register Reg) const |
LaneBitmask | insert (VRegMaskOrUnit Pair) |
Mark the Pair.LaneMask lanes of Pair.Reg as live. | |
LaneBitmask | erase (VRegMaskOrUnit Pair) |
Clears the Pair.LaneMask lanes of Pair.Reg (mark them as dead). | |
size_t | size () const |
void | appendTo (SmallVectorImpl< VRegMaskOrUnit > &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 264 of file RegisterPressure.h.
|
inline |
Definition at line 336 of file RegisterPressure.h.
References llvm::SmallVectorImpl< T >::emplace_back(), P, and Reg.
void LiveRegSet::clear | ( | ) |
Definition at line 229 of file RegisterPressure.cpp.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::clear().
|
inline |
Definition at line 299 of file RegisterPressure.h.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::find(), llvm::LaneBitmask::getNone(), I, and Reg.
|
inline |
Clears the Pair.LaneMask
lanes of Pair.Reg
(mark them as dead).
Returns the previously live lanes of Pair.Reg
.
Definition at line 322 of file RegisterPressure.h.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::find(), llvm::LaneBitmask::getNone(), I, and llvm::VRegMaskOrUnit::RegUnit.
void LiveRegSet::init | ( | const MachineRegisterInfo & | MRI | ) |
Definition at line 221 of file RegisterPressure.cpp.
References MRI, llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::setUniverse(), and TRI.
|
inline |
Mark the Pair.LaneMask
lanes of Pair.Reg
as live.
Returns the previously live lanes of Pair.Reg
.
Definition at line 309 of file RegisterPressure.h.
References llvm::LaneBitmask::getNone(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::insert(), llvm::VRegMaskOrUnit::LaneMask, and llvm::VRegMaskOrUnit::RegUnit.
|
inline |
Definition at line 332 of file RegisterPressure.h.
References llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::size().