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: