LLVM
8.0.1
|
#include "Target/Hexagon/BitTracker.h"
Public Attributes | |
const TargetRegisterInfo & | TRI |
MachineRegisterInfo & | MRI |
Definition at line 392 of file BitTracker.h.
|
inline |
Definition at line 393 of file BitTracker.h.
References llvm::AMDGPU::getRegBitWidth(), and MRI.
|
virtualdefault |
|
inlinevirtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 482 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 432 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, llvm::RISCVFenceField::W, 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 548 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, llvm::RISCVFenceField::W, 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 518 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 537 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::rol(), llvm::RISCVFenceField::W, 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 643 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 635 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 653 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 412 of file BitTracker.cpp.
References llvm::RISCVFenceField::W.
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 assert(), 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 695 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 527 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::rol(), llvm::RISCVFenceField::W, 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 498 of file BitTracker.cpp.
References llvm::BitTracker::RegisterCell::ct(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::BitValue::self(), llvm::RISCVFenceField::W, llvm::BitTracker::RegisterCell::width(), llvm::Z, 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 508 of file BitTracker.cpp.
References llvm::BitTracker::RegisterCell::ct(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::BitValue::self(), llvm::RISCVFenceField::W, llvm::BitTracker::RegisterCell::width(), llvm::Z, and llvm::BitTracker::BitValue::Zero.
Referenced by llvm::HexagonEvaluator::evaluate().
BT::RegisterCell BT::MachineEvaluator::eNOT | ( | const RegisterCell & | A1 | ) | const |
Definition at line 612 of file BitTracker.cpp.
References llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::One, llvm::BitTracker::BitValue::self(), llvm::RISCVFenceField::W, 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 570 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::One, llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, llvm::RISCVFenceField::W, 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 627 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 465 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, llvm::RISCVFenceField::W, 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 663 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::RISCVFenceField::W, and llvm::BitTracker::RegisterCell::width().
Referenced by llvm::HexagonEvaluator::evaluate().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 720 of file BitTracker.cpp.
References assert(), B, D, llvm::dbgs(), E, F(), llvm::BitTracker::RegisterCell::fill(), getCell(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getMBB(), llvm::MachineBasicBlock::getNumber(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), getRegBitWidth(), I, llvm::BitTracker::RegisterCell::insert(), llvm::MachineInstr::isBranch(), llvm::MachineInstr::isDebugInstr(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUse(), llvm::TargetRegisterInfo::isVirtualRegister(), mask(), llvm::BitTracker::RegisterCell::meet(), MI, llvm::MachineInstr::operands(), P, llvm::printMBBReference(), llvm::printReg(), putCell(), llvm::BitTracker::BitValue::Ref, llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::BitValue::RefI, llvm::BitTracker::BitRef::Reg, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterCell::self(), llvm::ARM_MB::ST, llvm::BitTracker::RegisterRef::Sub, llvm::BitTracker::BitValue::Type, llvm::RISCVFenceField::W, llvm::BitTracker::RegisterCell::width(), 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 592 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitValue::is(), llvm::BitTracker::BitValue::ref(), llvm::BitTracker::BitValue::self(), llvm::NVPTX::PTXLdStInstCode::V2, llvm::RISCVFenceField::W, 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 683 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::extract(), llvm::BitTracker::RegisterCell::ref(), llvm::RISCVFenceField::W, 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 674 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), llvm::BitTracker::RegisterCell::ref(), llvm::RISCVFenceField::W, 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 348 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(), and evaluate().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 714 of file BitTracker.cpp.
References assert(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::TargetRegisterInfo::getRegSizeInBits(), llvm::TargetRegisterInfo::isPhysicalRegister(), and TRI.
Referenced by getRegBitWidth().
|
inline |
Definition at line 405 of file BitTracker.h.
References B, E, llvm::isInt(), llvm::BitTracker::RegisterCell::ref(), Reg, and llvm::RISCVFenceField::W.
uint16_t BT::MachineEvaluator::getRegBitWidth | ( | const RegisterRef & | RR | ) | const |
Definition at line 330 of file BitTracker.cpp.
References assert(), composeWithSubRegIndex(), getPhysRegBitWidth(), llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegSizeInBits(), 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 388 of file BitTracker.cpp.
References llvm::RISCVFenceField::W, and llvm::BitTracker::RegisterCell::width().
Referenced by toInt().
|
virtual |
Reimplemented in llvm::HexagonEvaluator.
Definition at line 707 of file BitTracker.cpp.
References assert(), getRegBitWidth(), and llvm::RISCVFenceField::W.
Referenced by evaluate(), and getCell().
void BT::MachineEvaluator::putCell | ( | const RegisterRef & | RR, |
RegisterCell | RC, | ||
CellMapType & | M | ||
) | const |
Definition at line 375 of file BitTracker.cpp.
References assert(), llvm::TargetRegisterInfo::isVirtualRegister(), llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterCell::regify(), and llvm::BitTracker::RegisterRef::Sub.
Referenced by llvm::HexagonEvaluator::evaluate(), and evaluate().
uint64_t BT::MachineEvaluator::toInt | ( | const RegisterCell & | A | ) | const |
Definition at line 397 of file BitTracker.cpp.
References assert(), isInt(), llvm::RISCVFenceField::W, and llvm::BitTracker::RegisterCell::width().
|
inlinevirtual |
MachineRegisterInfo& llvm::BitTracker::MachineEvaluator::MRI |
Definition at line 491 of file BitTracker.h.
Referenced by llvm::HexagonEvaluator::evaluate(), getCell(), getRegBitWidth(), and llvm::HexagonEvaluator::mask().
const TargetRegisterInfo& llvm::BitTracker::MachineEvaluator::TRI |
Definition at line 490 of file BitTracker.h.
Referenced by llvm::HexagonEvaluator::composeWithSubRegIndex(), llvm::HexagonEvaluator::getPhysRegBitWidth(), getPhysRegBitWidth(), getRegBitWidth(), and llvm::HexagonEvaluator::mask().