LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::BitTracker::RegisterCell Struct Reference

#include "Target/Hexagon/BitTracker.h"

Public Member Functions

 RegisterCell (uint16_t Width=DefaultBitN)
 
uint16_t width () const
 
const BitValueoperator[] (uint16_t BitN) const
 
BitValueoperator[] (uint16_t BitN)
 
bool meet (const RegisterCell &RC, Register SelfR)
 
RegisterCellinsert (const RegisterCell &RC, const BitMask &M)
 
RegisterCell extract (const BitMask &M) const
 
RegisterCellrol (uint16_t Sh)
 
RegisterCellfill (uint16_t B, uint16_t E, const BitValue &V)
 
RegisterCellcat (const RegisterCell &RC)
 
uint16_t cl (bool B) const
 
uint16_t ct (bool B) const
 
bool operator== (const RegisterCell &RC) const
 
bool operator!= (const RegisterCell &RC) const
 
RegisterCellregify (unsigned R)
 

Static Public Member Functions

static RegisterCell self (unsigned Reg, uint16_t Width)
 
static RegisterCell top (uint16_t Width)
 
static RegisterCell ref (const RegisterCell &C)
 

Friends

raw_ostreamoperator<< (raw_ostream &OS, const RegisterCell &RC)
 

Detailed Description

Definition at line 300 of file BitTracker.h.

Constructor & Destructor Documentation

◆ RegisterCell()

llvm::BitTracker::RegisterCell::RegisterCell ( uint16_t  Width = DefaultBitN)
inline

Definition at line 301 of file BitTracker.h.

Member Function Documentation

◆ cat()

BT::RegisterCell & BT::RegisterCell::cat ( const RegisterCell RC)

Definition at line 282 of file BitTracker.cpp.

References llvm::SmallVectorImpl< T >::resize(), and width().

Referenced by llvm::HexagonEvaluator::evaluate().

◆ cl()

uint16_t BT::RegisterCell::cl ( bool  B) const

Definition at line 301 of file BitTracker.cpp.

References B, llvm::CallingConv::C, and width().

Referenced by llvm::BitTracker::MachineEvaluator::eCLB().

◆ ct()

uint16_t BT::RegisterCell::ct ( bool  B) const

◆ extract()

BT::RegisterCell BT::RegisterCell::extract ( const BitMask M) const

Definition at line 235 of file BitTracker.cpp.

References assert(), B, for(), and width().

Referenced by llvm::BitTracker::MachineEvaluator::eXTR().

◆ fill()

BT::RegisterCell & BT::RegisterCell::fill ( uint16_t  B,
uint16_t  E,
const BitValue V 
)

◆ insert()

BT::RegisterCell & BT::RegisterCell::insert ( const RegisterCell RC,
const BitMask M 
)

◆ meet()

bool BT::RegisterCell::meet ( const RegisterCell RC,
Register  SelfR 
)

◆ operator!=()

bool llvm::BitTracker::RegisterCell::operator!= ( const RegisterCell RC) const
inline

Definition at line 326 of file BitTracker.h.

References llvm::operator==().

◆ operator==()

bool BT::RegisterCell::operator== ( const RegisterCell RC) const

Definition at line 310 of file BitTracker.cpp.

References llvm::SmallVectorBase< Size_T >::size().

◆ operator[]() [1/2]

BitValue & llvm::BitTracker::RegisterCell::operator[] ( uint16_t  BitN)
inline

Definition at line 311 of file BitTracker.h.

References assert().

◆ operator[]() [2/2]

const BitValue & llvm::BitTracker::RegisterCell::operator[] ( uint16_t  BitN) const
inline

Definition at line 307 of file BitTracker.h.

References assert().

◆ ref()

BitTracker::RegisterCell llvm::BitTracker::RegisterCell::ref ( const RegisterCell C)
inlinestatic

◆ regify()

BT::RegisterCell & BT::RegisterCell::regify ( unsigned  R)

◆ rol()

BT::RegisterCell & BT::RegisterCell::rol ( uint16_t  Sh)

◆ self()

BitTracker::RegisterCell llvm::BitTracker::RegisterCell::self ( unsigned  Reg,
uint16_t  Width 
)
inlinestatic

◆ top()

BitTracker::RegisterCell llvm::BitTracker::RegisterCell::top ( uint16_t  Width)
inlinestatic

◆ width()

uint16_t llvm::BitTracker::RegisterCell::width ( ) const
inline

Friends And Related Function Documentation

◆ operator<<

raw_ostream & operator<< ( raw_ostream OS,
const RegisterCell RC 
)
friend

Definition at line 115 of file BitTracker.cpp.


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