|
LLVM
3.7.0
|
#include <BitTracker.h>
Public Attributes | |
| const TargetRegisterInfo & | TRI |
| MachineRegisterInfo & | MRI |
Definition at line 356 of file BitTracker.h.
|
inline |
Definition at line 357 of file BitTracker.h.
|
inlinevirtual |
Definition at line 359 of file BitTracker.h.
| BT::RegisterCell BT::MachineEvaluator::eADD | ( | const RegisterCell & | A1, |
| const RegisterCell & | A2 | ||
| ) | const |
Definition at line 433 of file BitTracker.cpp.
References 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 556 of file BitTracker.cpp.
References 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 523 of file BitTracker.cpp.
References 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 544 of file BitTracker.cpp.
References 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 657 of file BitTracker.cpp.
References llvm::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 648 of file BitTracker.cpp.
References 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 668 of file BitTracker.cpp.
References llvm::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 411 of file BitTracker.cpp.
Referenced by eCLB(), eCTB(), and llvm::HexagonEvaluator::evaluate().
| BT::RegisterCell BT::MachineEvaluator::eIMM | ( | const ConstantInt * | CI | ) | const |
Definition at line 422 of file BitTracker.cpp.
References llvm::ARM_PROC::A, llvm::APInt::getBitWidth(), and llvm::ConstantInt::getValue().
| BT::RegisterCell BT::MachineEvaluator::eINS | ( | const RegisterCell & | A1, |
| const RegisterCell & | A2, | ||
| uint16_t | AtN | ||
| ) | const |
Definition at line 714 of file BitTracker.cpp.
References 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 533 of file BitTracker.cpp.
References 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 501 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 512 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 623 of file BitTracker.cpp.
References 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 579 of file BitTracker.cpp.
References 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 639 of file BitTracker.cpp.
References 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 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 679 of file BitTracker.cpp.
References 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 735 of file BitTracker.cpp.
References llvm::TargetOpcode::COPY, 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::TargetOpcode::REG_SEQUENCE, llvm::SS, llvm::AArch64DB::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 602 of file BitTracker.cpp.
References 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 701 of file BitTracker.cpp.
References 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 691 of file BitTracker.cpp.
References 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 338 of file BitTracker.cpp.
References llvm::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 368 of file BitTracker.h.
References llvm::BitTracker::RegisterCell::ref().
| uint16_t BT::MachineEvaluator::getRegBitWidth | ( | const RegisterRef & | RR | ) | const |
Definition at line 312 of file BitTracker.cpp.
References 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 385 of file BitTracker.cpp.
References llvm::BitTracker::RegisterCell::width().
Referenced by toInt().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 727 of file BitTracker.cpp.
References getRegBitWidth().
Referenced by evaluate(), getCell(), and llvm::BitTracker::subst().
| void BT::MachineEvaluator::putCell | ( | const RegisterRef & | RR, |
| RegisterCell | RC, | ||
| CellMapType & | M | ||
| ) | const |
Definition at line 366 of file BitTracker.cpp.
References 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 395 of file BitTracker.cpp.
References isInt(), and llvm::BitTracker::RegisterCell::width().
|
inlinevirtual |
Definition at line 430 of file BitTracker.h.
Referenced by getCell().
| MachineRegisterInfo& llvm::BitTracker::MachineEvaluator::MRI |
Definition at line 444 of file BitTracker.h.
Referenced by getCell(), getRegBitWidth(), and llvm::HexagonEvaluator::mask().
| const TargetRegisterInfo& llvm::BitTracker::MachineEvaluator::TRI |
Definition at line 443 of file BitTracker.h.
Referenced by getRegBitWidth(), llvm::HexagonEvaluator::mask(), and llvm::BitTracker::run().
1.8.6