LLVM 22.0.0git
|
#include "Target/Hexagon/BitTracker.h"
Public Member Functions | |
RegisterCell (uint16_t Width=DefaultBitN) | |
uint16_t | width () const |
const BitValue & | operator[] (uint16_t BitN) const |
BitValue & | operator[] (uint16_t BitN) |
bool | meet (const RegisterCell &RC, Register SelfR) |
RegisterCell & | insert (const RegisterCell &RC, const BitMask &M) |
RegisterCell | extract (const BitMask &M) const |
RegisterCell & | rol (uint16_t Sh) |
RegisterCell & | fill (uint16_t B, uint16_t E, const BitValue &V) |
RegisterCell & | cat (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 |
RegisterCell & | regify (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_ostream & | operator<< (raw_ostream &OS, const RegisterCell &RC) |
Definition at line 297 of file BitTracker.h.
|
inline |
Definition at line 298 of file BitTracker.h.
Referenced by cat(), extract(), meet(), operator!=(), operator==(), ref(), rol(), self(), and top().
BT::RegisterCell & BT::RegisterCell::cat | ( | const RegisterCell & | RC | ) |
Definition at line 277 of file BitTracker.cpp.
References RegisterCell(), and width().
Referenced by llvm::HexagonEvaluator::evaluate().
Definition at line 296 of file BitTracker.cpp.
References B(), llvm::CallingConv::C, and width().
Referenced by llvm::BitTracker::MachineEvaluator::eCLB().
Definition at line 287 of file BitTracker.cpp.
References B(), llvm::CallingConv::C, and width().
Referenced by llvm::BitTracker::MachineEvaluator::eCTB(), llvm::BitTracker::MachineEvaluator::eMLS(), and llvm::BitTracker::MachineEvaluator::eMLU().
BT::RegisterCell BT::RegisterCell::extract | ( | const BitMask & | M | ) | const |
Definition at line 230 of file BitTracker.cpp.
References assert(), B(), RegisterCell(), and width().
Referenced by llvm::BitTracker::MachineEvaluator::eXTR().
BT::RegisterCell & BT::RegisterCell::fill | ( | uint16_t | B, |
uint16_t | E, | ||
const BitValue & | V ) |
Definition at line 269 of file BitTracker.cpp.
Referenced by llvm::BitTracker::MachineEvaluator::eASL(), llvm::BitTracker::MachineEvaluator::eASR(), llvm::BitTracker::MachineEvaluator::eLSR(), llvm::BitTracker::MachineEvaluator::eMLS(), llvm::BitTracker::MachineEvaluator::eMLU(), llvm::BitTracker::MachineEvaluator::eSXT(), llvm::BitTracker::MachineEvaluator::evaluate(), llvm::HexagonEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::eZXT().
BT::RegisterCell & BT::RegisterCell::insert | ( | const RegisterCell & | RC, |
const BitMask & | M ) |
Definition at line 209 of file BitTracker.cpp.
References assert(), B(), and width().
Referenced by llvm::BitTracker::MachineEvaluator::eINS(), llvm::BitTracker::MachineEvaluator::evaluate(), and llvm::HexagonEvaluator::evaluate().
bool BT::RegisterCell::meet | ( | const RegisterCell & | RC, |
Register | SelfR ) |
Definition at line 196 of file BitTracker.cpp.
References assert(), Changed, llvm::Register::isVirtual(), and RegisterCell().
|
inline |
Definition at line 323 of file BitTracker.h.
References operator==(), and RegisterCell().
bool BT::RegisterCell::operator== | ( | const RegisterCell & | RC | ) | const |
Definition at line 305 of file BitTracker.cpp.
References RegisterCell(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Definition at line 308 of file BitTracker.h.
References assert().
Definition at line 304 of file BitTracker.h.
References assert().
|
inlinestatic |
Definition at line 377 of file BitTracker.h.
References llvm::CallingConv::C, llvm::BitTracker::BitValue::ref(), and RegisterCell().
Referenced by llvm::BitTracker::MachineEvaluator::eASL(), llvm::BitTracker::MachineEvaluator::eASR(), llvm::BitTracker::MachineEvaluator::eCLR(), llvm::BitTracker::MachineEvaluator::eINS(), llvm::BitTracker::MachineEvaluator::eLSR(), llvm::BitTracker::MachineEvaluator::eSET(), llvm::BitTracker::MachineEvaluator::eSXT(), llvm::BitTracker::MachineEvaluator::evaluate(), llvm::HexagonEvaluator::evaluate(), llvm::BitTracker::MachineEvaluator::eXTR(), llvm::BitTracker::MachineEvaluator::eZXT(), and llvm::BitTracker::MachineEvaluator::getRef().
BT::RegisterCell & BT::RegisterCell::regify | ( | unsigned | R | ) |
Definition at line 315 of file BitTracker.cpp.
References llvm::BitTracker::BitValue::Ref, llvm::BitTracker::BitValue::RefI, and width().
Referenced by llvm::BitTracker::MachineEvaluator::putCell().
BT::RegisterCell & BT::RegisterCell::rol | ( | uint16_t | Sh | ) |
Definition at line 248 of file BitTracker.cpp.
References RegisterCell(), and width().
Referenced by llvm::BitTracker::MachineEvaluator::eASL(), llvm::BitTracker::MachineEvaluator::eASR(), and llvm::BitTracker::MachineEvaluator::eLSR().
|
inlinestatic |
Definition at line 361 of file BitTracker.h.
References Reg, RegisterCell(), and llvm::BitTracker::BitValue::self().
Referenced by llvm::BitTracker::MachineEvaluator::eCLB(), llvm::BitTracker::MachineEvaluator::eCTB(), llvm::HexagonEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::getCell().
|
inlinestatic |
Definition at line 369 of file BitTracker.h.
References RegisterCell(), and llvm::BitTracker::BitValue::Top.
Referenced by llvm::BitTracker::MachineEvaluator::getCell().
|
inline |
Definition at line 300 of file BitTracker.h.
Referenced by cat(), cl(), ct(), llvm::BitTracker::MachineEvaluator::eADD(), llvm::BitTracker::MachineEvaluator::eAND(), llvm::BitTracker::MachineEvaluator::eASL(), llvm::BitTracker::MachineEvaluator::eASR(), llvm::BitTracker::MachineEvaluator::eCLB(), llvm::BitTracker::MachineEvaluator::eCLR(), llvm::BitTracker::MachineEvaluator::eCTB(), llvm::BitTracker::MachineEvaluator::eINS(), llvm::BitTracker::MachineEvaluator::eLSR(), llvm::BitTracker::MachineEvaluator::eMLS(), llvm::BitTracker::MachineEvaluator::eMLU(), llvm::BitTracker::MachineEvaluator::eNOT(), llvm::BitTracker::MachineEvaluator::eORL(), llvm::BitTracker::MachineEvaluator::eSET(), llvm::BitTracker::MachineEvaluator::eSUB(), llvm::BitTracker::MachineEvaluator::eSXT(), llvm::HexagonEvaluator::evaluate(), llvm::BitTracker::MachineEvaluator::eXOR(), llvm::BitTracker::MachineEvaluator::eXTR(), extract(), llvm::BitTracker::MachineEvaluator::eZXT(), insert(), regify(), rol(), and llvm::BitTracker::subst().
|
friend |
Definition at line 110 of file BitTracker.cpp.
References llvm::Count, llvm::BitTracker::BitRef::Pos, llvm::BitTracker::BitValue::RefI, llvm::BitTracker::BitRef::Reg, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::BitTracker::BitValue::Type.