LLVM 20.0.0git
|
#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 25 of file HexagonBitTracker.h.
Definition at line 29 of file HexagonBitTracker.h.
Definition at line 26 of file HexagonBitTracker.h.
Definition at line 28 of file HexagonBitTracker.h.
Definition at line 27 of file HexagonBitTracker.h.
HexagonEvaluator::HexagonEvaluator | ( | const HexagonRegisterInfo & | tri, |
MachineRegisterInfo & | mri, | ||
const HexagonInstrInfo & | tii, | ||
MachineFunction & | mf | ||
) |
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 130 of file HexagonBitTracker.cpp.
References assert(), llvm::dbgs(), llvm::TargetRegisterClass::getID(), Idx, llvm_unreachable, llvm::Hexagon::ps_sub_hi, llvm::Hexagon::ps_sub_lo, and llvm::BitTracker::MachineEvaluator::TRI.
|
overridevirtual |
Implements llvm::BitTracker::MachineEvaluator.
Definition at line 985 of file HexagonBitTracker.cpp.
References llvm::BitTracker::MachineEvaluator::getCell(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::SetVector< T, Vector, Set, N >::insert(), and llvm::Test.
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 185 of file HexagonBitTracker.cpp.
References A, assert(), llvm::BitTracker::RegisterCell::cat(), llvm::countr_zero(), 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::BitTracker::MachineEvaluator::eXTR(), llvm::BitTracker::MachineEvaluator::eZXT(), F, llvm::BitTracker::RegisterCell::fill(), llvm::MachineFrameInfo::getObjectAlign(), llvm::BitTracker::MachineEvaluator::getRegBitWidth(), llvm::MachineRegisterInfo::getRegClass(), I, im, llvm::BitTracker::RegisterCell::insert(), llvm::BitTracker::BitValue::is(), MFI, MI, llvm::BitTracker::MachineEvaluator::MRI, N, op, llvm::BitTracker::MachineEvaluator::putCell(), R2, rc, llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterCell::self(), llvm::shuffle(), llvm::Align::value(), Wd, and llvm::BitTracker::RegisterCell::width().
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 113 of file HexagonBitTracker.cpp.
References llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MCRegisterInfo::getName(), llvm::TargetRegisterInfo::getRegSizeInBits(), llvm::MachineFunction::getSubtarget(), llvm_unreachable, MF, and llvm::BitTracker::MachineEvaluator::TRI.
|
overridevirtual |
Reimplemented from llvm::BitTracker::MachineEvaluator.
Definition at line 89 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 46 of file HexagonBitTracker.h.
Referenced by getPhysRegBitWidth(), and HexagonEvaluator().
MachineFrameInfo& llvm::HexagonEvaluator::MFI |
Definition at line 47 of file HexagonBitTracker.h.
Referenced by evaluate().
const HexagonInstrInfo& llvm::HexagonEvaluator::TII |
Definition at line 48 of file HexagonBitTracker.h.