LLVM: llvm::BitTracker::MachineEvaluator Struct Reference (original) (raw)
#include "[Target/Hexagon/BitTracker.h](BitTracker%5F8h%5Fsource.html)"
| Public Member Functions |
|
|
MachineEvaluator (const TargetRegisterInfo &T, MachineRegisterInfo &M) |
| virtual |
~MachineEvaluator ()=default |
| uint16_t |
getRegBitWidth (const RegisterRef &RR) const |
| RegisterCell |
getCell (const RegisterRef &RR, const CellMapType &M) const |
| void |
putCell (const RegisterRef &RR, RegisterCell RC, CellMapType &M) const |
| RegisterCell |
getRef (const RegisterRef &RR, const CellMapType &M) const |
| bool |
isInt (const RegisterCell &A) const |
| uint64_t |
toInt (const RegisterCell &A) const |
| RegisterCell |
eIMM (int64_t V, uint16_t W) const |
| RegisterCell |
eIMM (const ConstantInt *CI) const |
| RegisterCell |
eADD (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eSUB (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eMLS (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eMLU (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eASL (const RegisterCell &A1, uint16_t Sh) const |
| RegisterCell |
eLSR (const RegisterCell &A1, uint16_t Sh) const |
| RegisterCell |
eASR (const RegisterCell &A1, uint16_t Sh) const |
| RegisterCell |
eAND (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eORL (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eXOR (const RegisterCell &A1, const RegisterCell &A2) const |
| RegisterCell |
eNOT (const RegisterCell &A1) const |
| RegisterCell |
eSET (const RegisterCell &A1, uint16_t BitN) const |
| RegisterCell |
eCLR (const RegisterCell &A1, uint16_t BitN) const |
| RegisterCell |
eCLB (const RegisterCell &A1, bool B, uint16_t W) const |
| RegisterCell |
eCTB (const RegisterCell &A1, bool B, uint16_t W) const |
| RegisterCell |
eSXT (const RegisterCell &A1, uint16_t FromN) const |
| RegisterCell |
eZXT (const RegisterCell &A1, uint16_t FromN) const |
| RegisterCell |
eXTR (const RegisterCell &A1, uint16_t B, uint16_t E) const |
| RegisterCell |
eINS (const RegisterCell &A1, const RegisterCell &A2, uint16_t AtN) const |
| virtual BitMask |
mask (Register Reg, unsigned Sub) const |
| virtual bool |
track (const TargetRegisterClass *RC) const |
| virtual bool |
evaluate (const MachineInstr &MI, const CellMapType &Inputs, CellMapType &Outputs) const |
| virtual bool |
evaluate (const MachineInstr &BI, const CellMapType &Inputs, BranchTargetList &Targets, bool &FallsThru) const =0 |
| virtual const TargetRegisterClass & |
composeWithSubRegIndex (const TargetRegisterClass &RC, unsigned Idx) const |
| virtual uint16_t |
getPhysRegBitWidth (MCRegister Reg) const |
Definition at line 389 of file BitTracker.h.
◆ ~MachineEvaluator()
| virtual llvm::BitTracker::MachineEvaluator::~MachineEvaluator ( ) |
virtualdefault |
◆ composeWithSubRegIndex()
◆ eADD()
◆ eAND()
◆ eASL()
◆ eASR()
◆ eCLB()
◆ eCLR()
◆ eCTB()
◆ eIMM() [1/2]
◆ eIMM() [2/2]
◆ eINS()
◆ eLSR()
◆ eMLS()
◆ eMLU()
◆ eNOT()
◆ eORL()
◆ eSET()
◆ eSUB()
◆ eSXT()
◆ evaluate() [1/2]
◆ evaluate() [2/2]
Reimplemented in llvm::HexagonEvaluator.
Definition at line 714 of file BitTracker.cpp.
References assert(), llvm::BitTracker::RegisterCell::fill(), getCell(), getRegBitWidth(), llvm::BitTracker::RegisterCell::insert(), mask(), MI, Opc, putCell(), llvm::BitTracker::RegisterCell::ref(), llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, and llvm::BitTracker::BitValue::Zero.
◆ eXOR()
◆ eXTR()
◆ eZXT()
◆ getCell()
Definition at line 343 of file BitTracker.cpp.
References assert(), llvm::CallingConv::C, F, getRegBitWidth(), llvm::Register::isPhysical(), llvm::Register::isVirtual(), mask(), MRI, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterCell::self(), llvm::BitTracker::RegisterRef::Sub, llvm::BitTracker::RegisterCell::top(), and track().
Referenced by evaluate(), llvm::HexagonEvaluator::evaluate(), getRef(), and ~MachineEvaluator().
◆ getPhysRegBitWidth()
◆ getRef()
◆ getRegBitWidth()
Definition at line 324 of file BitTracker.cpp.
References llvm::Register::asMCReg(), assert(), composeWithSubRegIndex(), getPhysRegBitWidth(), llvm::Register::isPhysical(), llvm::Register::isVirtual(), MRI, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, and TRI.
Referenced by evaluate(), llvm::HexagonEvaluator::evaluate(), getCell(), mask(), llvm::HexagonEvaluator::mask(), and ~MachineEvaluator().
◆ isInt()
◆ mask()
◆ putCell()
◆ toInt()
◆ track()
◆ MRI
◆ TRI
The documentation for this struct was generated from the following files: