LLVM
8.0.1
|
#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, unsigned 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 300 of file BitTracker.h.
|
inline |
Definition at line 301 of file BitTracker.h.
BT::RegisterCell & BT::RegisterCell::cat | ( | const RegisterCell & | RC | ) |
Definition at line 283 of file BitTracker.cpp.
References llvm::SmallVectorImpl< T >::resize(), llvm::RISCVFenceField::W, and width().
Referenced by llvm::HexagonEvaluator::evaluate().
uint16_t BT::RegisterCell::cl | ( | bool | B | ) | const |
Definition at line 302 of file BitTracker.cpp.
References B, C, llvm::RISCVFenceField::W, and width().
Referenced by llvm::BitTracker::MachineEvaluator::eCLB().
uint16_t BT::RegisterCell::ct | ( | bool | B | ) | const |
Definition at line 293 of file BitTracker.cpp.
References B, C, llvm::RISCVFenceField::W, 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 236 of file BitTracker.cpp.
References assert(), B, E, llvm::BitTracker::BitMask::first(), for(), llvm::BitTracker::BitMask::last(), llvm::RISCVFenceField::W, 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 275 of file BitTracker.cpp.
References assert().
Referenced by llvm::BitTracker::MachineEvaluator::eASR(), llvm::BitTracker::MachineEvaluator::eLSR(), llvm::BitTracker::MachineEvaluator::eMLS(), llvm::BitTracker::MachineEvaluator::eMLU(), llvm::BitTracker::MachineEvaluator::eSXT(), llvm::HexagonEvaluator::evaluate(), llvm::BitTracker::MachineEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::eZXT().
BT::RegisterCell & BT::RegisterCell::insert | ( | const RegisterCell & | RC, |
const BitMask & | M | ||
) |
Definition at line 215 of file BitTracker.cpp.
References assert(), B, E, llvm::BitTracker::BitMask::first(), llvm::BitTracker::BitMask::last(), llvm::RISCVFenceField::W, and width().
Referenced by llvm::BitTracker::MachineEvaluator::eINS(), llvm::HexagonEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::evaluate().
bool BT::RegisterCell::meet | ( | const RegisterCell & | RC, |
unsigned | SelfR | ||
) |
Definition at line 202 of file BitTracker.cpp.
References assert(), llvm::TargetRegisterInfo::isVirtualRegister(), and llvm::SmallVectorBase::size().
Referenced by llvm::HexagonEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::evaluate().
|
inline |
Definition at line 326 of file BitTracker.h.
References llvm::tgtok::Bits, C, llvm::operator<<(), llvm::operator==(), and Reg.
bool BT::RegisterCell::operator== | ( | const RegisterCell & | RC | ) | const |
Definition at line 311 of file BitTracker.cpp.
References llvm::SmallVectorBase::size(), and llvm::RISCVFenceField::W.
Definition at line 307 of file BitTracker.h.
References assert(), and llvm::tgtok::Bits.
|
inline |
Definition at line 311 of file BitTracker.h.
References assert(), B, llvm::tgtok::Bits, E, extract, llvm::operator==(), and rol().
|
inlinestatic |
Definition at line 380 of file BitTracker.h.
References llvm::BitTracker::BitValue::ref(), llvm::RISCVFenceField::W, and width().
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::HexagonEvaluator::evaluate(), llvm::BitTracker::MachineEvaluator::evaluate(), llvm::BitTracker::MachineEvaluator::eXTR(), llvm::BitTracker::MachineEvaluator::eZXT(), and llvm::BitTracker::MachineEvaluator::getRef().
BT::RegisterCell & BT::RegisterCell::regify | ( | unsigned | R | ) |
Definition at line 321 of file BitTracker.cpp.
References llvm::BitTracker::BitValue::Ref, llvm::BitTracker::BitValue::RefI, llvm::BitTracker::BitRef::Reg, llvm::BitTracker::BitValue::Type, and width().
Referenced by llvm::BitTracker::MachineEvaluator::putCell().
BT::RegisterCell & BT::RegisterCell::rol | ( | uint16_t | Sh | ) |
Definition at line 254 of file BitTracker.cpp.
References llvm::RISCVFenceField::W, and width().
Referenced by llvm::BitTracker::MachineEvaluator::eASR(), and llvm::BitTracker::MachineEvaluator::eLSR().
|
inlinestatic |
Definition at line 364 of file BitTracker.h.
References llvm::BitTracker::BitValue::self().
Referenced by llvm::BitTracker::MachineEvaluator::eCLB(), llvm::BitTracker::MachineEvaluator::eCTB(), llvm::HexagonEvaluator::evaluate(), llvm::BitTracker::MachineEvaluator::evaluate(), and llvm::BitTracker::MachineEvaluator::getCell().
|
inlinestatic |
Definition at line 372 of file BitTracker.h.
References llvm::BitTracker::BitValue::Top.
Referenced by llvm::BitTracker::MachineEvaluator::getCell().
|
inline |
Definition at line 303 of file BitTracker.h.
References llvm::tgtok::Bits.
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::evaluate(), llvm::BitTracker::MachineEvaluator::eXOR(), llvm::BitTracker::MachineEvaluator::eXTR(), extract(), llvm::BitTracker::MachineEvaluator::eZXT(), INITIALIZE_PASS(), insert(), isDebug(), llvm::BitTracker::MachineEvaluator::isInt(), ref(), regify(), rol(), llvm::BitTracker::subst(), and llvm::BitTracker::MachineEvaluator::toInt().
|
friend |
Definition at line 116 of file BitTracker.cpp.