LLVM 20.0.0git
Classes | Public Member Functions | List of all members
llvm::LiveRegSet Class Reference

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
 

Detailed Description

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.

Member Function Documentation

◆ appendTo()

template<typename ContainerT >
void llvm::LiveRegSet::appendTo ( ContainerT &  To) const
inline

Definition at line 334 of file RegisterPressure.h.

References P, and Reg.

Referenced by llvm::RegPressureTracker::closeBottom(), and llvm::RegPressureTracker::closeTop().

◆ clear()

void LiveRegSet::clear ( )

◆ contains()

LaneBitmask llvm::LiveRegSet::contains ( Register  Reg) const
inline

◆ erase()

LaneBitmask llvm::LiveRegSet::erase ( RegisterMaskPair  Pair)
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().

◆ init()

void LiveRegSet::init ( const MachineRegisterInfo MRI)

◆ insert()

LaneBitmask llvm::LiveRegSet::insert ( RegisterMaskPair  Pair)
inline

◆ size()

size_t llvm::LiveRegSet::size ( ) const
inline

The documentation for this class was generated from the following files: