LLVM
8.0.1
|
#include "Target/Hexagon/HexagonBitTracker.h"
Public Types | |
using | CellMapType = BitTracker::CellMapType |
using | RegisterRef = BitTracker::RegisterRef |
using | RegisterCell = BitTracker::RegisterCell |
using | BranchTargetList = BitTracker::BranchTargetList |
Public Attributes | |
MachineFunction & | MF |
MachineFrameInfo & | MFI |
const HexagonInstrInfo & | TII |
Public Attributes inherited from llvm::BitTracker::MachineEvaluator | |
const TargetRegisterInfo & | TRI |
MachineRegisterInfo & | MRI |
Definition at line 26 of file HexagonBitTracker.h.
Definition at line 30 of file HexagonBitTracker.h.
Definition at line 27 of file HexagonBitTracker.h.
Definition at line 29 of file HexagonBitTracker.h.
Definition at line 28 of file HexagonBitTracker.h.
HexagonEvaluator::HexagonEvaluator | ( | const HexagonRegisterInfo & | tri, |
MachineRegisterInfo & | mri, | ||
const HexagonInstrInfo & | tii, | ||
MachineFunction & | mf | ||
) |
Definition at line 41 of file HexagonBitTracker.cpp.
References Arg, llvm::Function::args(), llvm::Attribute::ByVal, llvm::MachineFunction::getFunction(), llvm::Type::getIntegerBitWidth(), llvm::Value::getType(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::Type::isIntegerTy(), llvm::Type::isPointerTy(), MF, llvm::Attribute::SExt, and llvm::Attribute::ZExt.
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 133 of file HexagonBitTracker.cpp.
References assert(), llvm::dbgs(), llvm::TargetRegisterClass::getID(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isReg(), llvm_unreachable, MI, llvm::Hexagon::ps_sub_hi, llvm::Hexagon::ps_sub_lo, llvm::size(), and llvm::BitTracker::MachineEvaluator::TRI.
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 188 of file HexagonBitTracker.cpp.
References llvm::abs(), assert(), llvm::BitTracker::RegisterCell::cat(), llvm::HexagonISD::CONST32, llvm::countTrailingZeros(), llvm::BitTracker::MachineEvaluator::eADD(), llvm::BitTracker::MachineEvaluator::eAND(), llvm::BitTracker::MachineEvaluator::eASL(), llvm::BitTracker::MachineEvaluator::eASR(), llvm::BitTracker::MachineEvaluator::eCLB(), llvm::BitTracker::MachineEvaluator::eCTB(), llvm::BitTracker::MachineEvaluator::eIMM(), 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::eSUB(), llvm::BitTracker::MachineEvaluator::eSXT(), llvm::BitTracker::MachineEvaluator::eXOR(), llvm::MipsISD::Ext, llvm::BitTracker::MachineEvaluator::eXTR(), llvm::BitTracker::MachineEvaluator::eZXT(), F(), llvm::BitTracker::RegisterCell::fill(), llvm::MachineOperand::getImm(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineInstr::getOpcode(), llvm::BitTracker::MachineEvaluator::getRegBitWidth(), llvm::MachineRegisterInfo::getRegClass(), I, im, llvm::BitTracker::RegisterCell::insert(), llvm::BitTracker::BitValue::is(), llvm::MachineInstr::isCopy(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), llvm::MachineInstr::mayLoad(), llvm::BitTracker::RegisterCell::meet(), MFI, MI, llvm::BitTracker::MachineEvaluator::MRI, N, llvm::BitTracker::BitValue::One, op, llvm::MachineInstr::operands(), llvm::X86II::PD, llvm::BitTracker::MachineEvaluator::putCell(), R2, rc, llvm::BitTracker::RegisterCell::ref(), Reg, llvm::NVPTX::PTXCvtMode::RZ, llvm::BitTracker::BitValue::self(), llvm::BitTracker::RegisterCell::self(), llvm::RISCVFenceField::W, llvm::BitTracker::RegisterCell::width(), llvm::SystemZISD::XC, and llvm::BitTracker::BitValue::Zero.
|
overridevirtual |
Implements llvm::BitTracker::MachineEvaluator.
Definition at line 983 of file HexagonBitTracker.cpp.
References assert(), llvm::BitTracker::MachineEvaluator::eSXT(), llvm::BitTracker::MachineEvaluator::eZXT(), F(), llvm::BitTracker::MachineEvaluator::getCell(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::BitTracker::MachineEvaluator::getRegBitWidth(), llvm::SetVector< T, Vector, Set >::insert(), llvm::BitTracker::BitValue::is(), llvm::MachineInstr::isCopy(), llvm::MachineOperand::isDef(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::HexagonInstrInfo::isPredicated(), llvm::MachineOperand::isReg(), llvm::TargetRegisterInfo::isVirtualRegister(), llvm::MachineRegisterInfo::liveins(), LLVM_FALLTHROUGH, llvm::MachineInstr::mayLoad(), MI, llvm::BitTracker::MachineEvaluator::MRI, llvm::MachineInstr::operands(), P, llvm::BitTracker::MachineEvaluator::putCell(), R2, R4, llvm::BitTracker::BitValue::ref(), llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::BitValue::self(), TII, llvm::RISCVFenceField::W, and llvm::BitTracker::BitValue::Zero.
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 114 of file HexagonBitTracker.cpp.
References assert(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MCRegisterInfo::getName(), llvm::TargetRegisterInfo::getRegSizeInBits(), llvm::MachineFunction::getSubtarget(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm_unreachable, MF, and llvm::BitTracker::MachineEvaluator::TRI.
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 90 of file HexagonBitTracker.cpp.
References llvm::dbgs(), llvm::TargetRegisterClass::getID(), llvm::BitTracker::MachineEvaluator::getRegBitWidth(), llvm::MachineRegisterInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassName(), llvm_unreachable, llvm::BitTracker::MachineEvaluator::MRI, llvm::printReg(), llvm::Hexagon::ps_sub_lo, and llvm::BitTracker::MachineEvaluator::TRI.
MachineFunction& llvm::HexagonEvaluator::MF |
Definition at line 47 of file HexagonBitTracker.h.
Referenced by getPhysRegBitWidth(), and HexagonEvaluator().
MachineFrameInfo& llvm::HexagonEvaluator::MFI |
Definition at line 48 of file HexagonBitTracker.h.
Referenced by evaluate().
const HexagonInstrInfo& llvm::HexagonEvaluator::TII |
Definition at line 49 of file HexagonBitTracker.h.
Referenced by evaluate().