LLVM 22.0.0git
|
#include "Target/Hexagon/BitTracker.h"
Public Attributes | |
const TargetRegisterInfo & | TRI |
MachineRegisterInfo & | MRI |
Definition at line 389 of file BitTracker.h.
|
inline |
Definition at line 390 of file BitTracker.h.
Referenced by llvm::HexagonEvaluator::HexagonEvaluator().
|
virtualdefault |
References getCell(), getRegBitWidth(), and putCell().
|
inlinevirtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 479 of file BitTracker.h.
References llvm_unreachable.
Referenced by getRegBitWidth().
BT::RegisterCell BT::MachineEvaluator::eADD | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 427 of file BitTracker.cpp.
References assert(), I, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::num(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eAND | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 543 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eASL | ( | const RegisterCell & | A1, |
uint16_t | Sh ) const |
Definition at line 513 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::rol(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eASR | ( | const RegisterCell & | A1, |
uint16_t | Sh ) const |
Definition at line 532 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::rol(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eCLB | ( | const RegisterCell & | A1, |
bool | B, | ||
uint16_t | W ) const |
Definition at line 638 of file BitTracker.cpp.
References B(), llvm::CallingConv::C, llvm::BitTracker::RegisterCell::cl(), eIMM(), llvm::BitTracker::RegisterCell::self(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eCLR | ( | const RegisterCell & | A1, |
uint16_t | BitN ) const |
Definition at line 630 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
BT::RegisterCell BT::MachineEvaluator::eCTB | ( | const RegisterCell & | A1, |
bool | B, | ||
uint16_t | W ) const |
Definition at line 648 of file BitTracker.cpp.
References B(), llvm::CallingConv::C, llvm::BitTracker::RegisterCell::ct(), eIMM(), llvm::BitTracker::RegisterCell::self(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eIMM | ( | const ConstantInt * | CI | ) | const |
Definition at line 417 of file BitTracker.cpp.
References A(), assert(), and llvm::ConstantInt::getValue().
BT::RegisterCell BT::MachineEvaluator::eIMM | ( | int64_t | V, |
uint16_t | W ) const |
Definition at line 407 of file BitTracker.cpp.
Referenced by eCLB(), eCTB(), and llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eINS | ( | const RegisterCell & | A1, |
const RegisterCell & | A2, | ||
uint16_t | AtN ) const |
Definition at line 690 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::insert(), llvm::BitTracker::RegisterCell::ref(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eLSR | ( | const RegisterCell & | A1, |
uint16_t | Sh ) const |
Definition at line 522 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::rol(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eMLS | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 493 of file BitTracker.cpp.
References llvm::BitTracker::RegisterCell::ct(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::BitValue::self(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eMLU | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 503 of file BitTracker.cpp.
References llvm::BitTracker::RegisterCell::ct(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::BitValue::self(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eNOT | ( | const RegisterCell & | A1 | ) | const |
Definition at line 607 of file BitTracker.cpp.
References llvm::BitTracker::BitValue::One, llvm::BitTracker::BitValue::self(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eORL | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 565 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::One, llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eSET | ( | const RegisterCell & | A1, |
uint16_t | BitN ) const |
Definition at line 622 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::One, llvm::BitTracker::RegisterCell::ref(), and llvm::BitTracker::RegisterCell::width().
BT::RegisterCell BT::MachineEvaluator::eSUB | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 460 of file BitTracker.cpp.
References assert(), I, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::num(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eSXT | ( | const RegisterCell & | A1, |
uint16_t | FromN ) const |
Definition at line 658 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
|
pure virtual |
Implemented in llvm::HexagonEvaluator.
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 714 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), getCell(), getRegBitWidth(), llvm::BitTracker::RegisterCell::insert(), mask(), MI, Opc, putCell(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, and llvm::BitTracker::BitValue::Zero.
BT::RegisterCell BT::MachineEvaluator::eXOR | ( | const RegisterCell & | A1, |
const RegisterCell & | A2 ) const |
Definition at line 587 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eXTR | ( | const RegisterCell & | A1, |
uint16_t | B, | ||
uint16_t | E ) const |
Definition at line 678 of file BitTracker.cpp.
References assert(), B(), llvm::BitTracker::RegisterCell::extract(), llvm::Last, llvm::BitTracker::RegisterCell::ref(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eZXT | ( | const RegisterCell & | A1, |
uint16_t | FromN ) const |
Definition at line 669 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::width(), and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::getCell | ( | const RegisterRef & | RR, |
const CellMapType & | M ) const |
Definition at line 343 of file BitTracker.cpp.
References assert(), llvm::CallingConv::C, F, getRegBitWidth(), llvm::Register::isPhysical(), llvm::Register::isVirtual(), mask(), MRI, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterCell::self(), llvm::BitTracker::RegisterRef::Sub, llvm::BitTracker::RegisterCell::top(), and track().
Referenced by evaluate(), llvm::HexagonEvaluator::evaluate(), getRef(), and ~MachineEvaluator().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 709 of file BitTracker.cpp.
References TRI.
Referenced by getRegBitWidth().
|
inline |
Definition at line 402 of file BitTracker.h.
References getCell(), and llvm::BitTracker::RegisterCell::ref().
uint16_t BT::MachineEvaluator::getRegBitWidth | ( | const RegisterRef & | RR | ) | const |
Definition at line 324 of file BitTracker.cpp.
References llvm::Register::asMCReg(), assert(), composeWithSubRegIndex(), getPhysRegBitWidth(), llvm::Register::isPhysical(), llvm::Register::isVirtual(), MRI, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, and TRI.
Referenced by evaluate(), llvm::HexagonEvaluator::evaluate(), getCell(), mask(), llvm::HexagonEvaluator::mask(), and ~MachineEvaluator().
bool BT::MachineEvaluator::isInt | ( | const RegisterCell & | A | ) | const |
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 702 of file BitTracker.cpp.
References assert(), getRegBitWidth(), and llvm::Sub.
Referenced by evaluate(), and getCell().
void BT::MachineEvaluator::putCell | ( | const RegisterRef & | RR, |
RegisterCell | RC, | ||
CellMapType & | M ) const |
Definition at line 370 of file BitTracker.cpp.
References assert(), llvm::Register::isVirtual(), llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterCell::regify(), and llvm::BitTracker::RegisterRef::Sub.
Referenced by evaluate(), llvm::HexagonEvaluator::evaluate(), and ~MachineEvaluator().
uint64_t BT::MachineEvaluator::toInt | ( | const RegisterCell & | A | ) | const |
Definition at line 392 of file BitTracker.cpp.
|
inlinevirtual |
Definition at line 464 of file BitTracker.h.
Referenced by getCell().
MachineRegisterInfo& llvm::BitTracker::MachineEvaluator::MRI |
Definition at line 488 of file BitTracker.h.
Referenced by llvm::HexagonEvaluator::evaluate(), getCell(), getRegBitWidth(), MachineEvaluator(), and llvm::HexagonEvaluator::mask().
const TargetRegisterInfo& llvm::BitTracker::MachineEvaluator::TRI |
Definition at line 487 of file BitTracker.h.
Referenced by llvm::HexagonEvaluator::composeWithSubRegIndex(), getPhysRegBitWidth(), llvm::HexagonEvaluator::getPhysRegBitWidth(), getRegBitWidth(), MachineEvaluator(), and llvm::HexagonEvaluator::mask().