|
LLVM
4.0.0
|
#include <BitTracker.h>
Public Attributes | |
| const TargetRegisterInfo & | TRI |
| MachineRegisterInfo & | MRI |
Definition at line 345 of file BitTracker.h.
|
inline |
Definition at line 346 of file BitTracker.h.
References MRI.
|
virtualdefault |
| BT::RegisterCell BT::MachineEvaluator::eADD | ( | const RegisterCell & | A1, |
| const RegisterCell & | A2 | ||
| ) | const |
Definition at line 434 of file BitTracker.cpp.
References assert(), I, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::num(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, 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 550 of file BitTracker.cpp.
References assert(), i, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, 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 520 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::ref(), 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 539 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 645 of file BitTracker.cpp.
References 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 637 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 655 of file BitTracker.cpp.
References 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 | ( | int64_t | V, |
| uint16_t | W | ||
| ) | const |
Definition at line 414 of file BitTracker.cpp.
References i.
Referenced by eCLB(), eCTB(), and llvm::HexagonEvaluator::evaluate().
| BT::RegisterCell BT::MachineEvaluator::eIMM | ( | const ConstantInt * | CI | ) | const |
Definition at line 424 of file BitTracker.cpp.
References A, assert(), llvm::APInt::getBitWidth(), llvm::ConstantInt::getValue(), and i.
| BT::RegisterCell BT::MachineEvaluator::eINS | ( | const RegisterCell & | A1, |
| const RegisterCell & | A2, | ||
| uint16_t | AtN | ||
| ) | const |
Definition at line 697 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 529 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 500 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 510 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 614 of file BitTracker.cpp.
References i, llvm::BitTracker::BitValue::is(), 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 572 of file BitTracker.cpp.
References assert(), i, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::One, llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, 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 629 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 467 of file BitTracker.cpp.
References assert(), I, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::num(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, 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 665 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 716 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), getCell(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), getRegBitWidth(), llvm::BitTracker::RegisterCell::insert(), mask(), putCell(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterRef::Reg, llvm::ARM_MB::ST, llvm::BitTracker::RegisterRef::Sub, and llvm::BitTracker::BitValue::Zero.
|
pure virtual |
Implemented in llvm::HexagonEvaluator.
| BT::RegisterCell BT::MachineEvaluator::eXOR | ( | const RegisterCell & | A1, |
| const RegisterCell & | A2 | ||
| ) | const |
Definition at line 594 of file BitTracker.cpp.
References assert(), i, llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, 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 685 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::extract(), 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 676 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 345 of file BitTracker.cpp.
References assert(), C, F, getRegBitWidth(), llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::TargetRegisterInfo::isVirtualRegister(), mask(), MRI, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterCell::self(), llvm::BitTracker::RegisterRef::Sub, llvm::BitTracker::RegisterCell::top(), and track().
Referenced by llvm::HexagonEvaluator::evaluate(), evaluate(), and llvm::BitTracker::get().
|
inline |
Definition at line 358 of file BitTracker.h.
References llvm::BitTracker::RegisterCell::ref().
| uint16_t BT::MachineEvaluator::getRegBitWidth | ( | const RegisterRef & | RR | ) | const |
Definition at line 320 of file BitTracker.cpp.
References assert(), llvm::TargetRegisterClass::begin(), llvm::TargetRegisterClass::end(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterClass::getSize(), llvm::MCRegisterInfo::getSubReg(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::TargetRegisterInfo::isVirtualRegister(), MRI, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, TRI, and llvm::AArch64CC::VC.
Referenced by llvm::HexagonEvaluator::evaluate(), evaluate(), getCell(), llvm::HexagonEvaluator::mask(), and mask().
| bool BT::MachineEvaluator::isInt | ( | const RegisterCell & | A | ) | const |
Definition at line 390 of file BitTracker.cpp.
References i, and llvm::BitTracker::RegisterCell::width().
Referenced by toInt().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 709 of file BitTracker.cpp.
References assert(), and getRegBitWidth().
Referenced by evaluate(), getCell(), and llvm::BitTracker::subst().
| void BT::MachineEvaluator::putCell | ( | const RegisterRef & | RR, |
| RegisterCell | RC, | ||
| CellMapType & | M | ||
| ) | const |
Definition at line 372 of file BitTracker.cpp.
References assert(), i, llvm::TargetRegisterInfo::isVirtualRegister(), llvm::BitTracker::BitValue::Ref, llvm::BitTracker::BitValue::RefI, llvm::BitTracker::BitRef::Reg, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, llvm::BitTracker::BitValue::Type, and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate(), evaluate(), and llvm::BitTracker::put().
| uint64_t BT::MachineEvaluator::toInt | ( | const RegisterCell & | A | ) | const |
Definition at line 399 of file BitTracker.cpp.
References assert(), i, isInt(), and llvm::BitTracker::RegisterCell::width().
|
inlinevirtual |
Definition at line 420 of file BitTracker.h.
Referenced by getCell().
| MachineRegisterInfo& llvm::BitTracker::MachineEvaluator::MRI |
Definition at line 434 of file BitTracker.h.
Referenced by getCell(), getRegBitWidth(), and llvm::HexagonEvaluator::mask().
| const TargetRegisterInfo& llvm::BitTracker::MachineEvaluator::TRI |
Definition at line 433 of file BitTracker.h.
Referenced by getRegBitWidth(), llvm::HexagonEvaluator::mask(), and llvm::BitTracker::print_cells().
1.8.6