LLVM: llvm::HexagonEvaluator Struct Reference (original) (raw)

#include "[Target/Hexagon/HexagonBitTracker.h](HexagonBitTracker%5F8h%5Fsource.html)"

Inheritance diagram for llvm::HexagonEvaluator:

Public Member Functions
HexagonEvaluator (const HexagonRegisterInfo &tri, MachineRegisterInfo &mri, const HexagonInstrInfo &tii, MachineFunction &mf)
bool evaluate (const MachineInstr &MI, const CellMapType &Inputs, CellMapType &Outputs) const override
bool evaluate (const MachineInstr &BI, const CellMapType &Inputs, BranchTargetList &Targets, bool &FallsThru) const override
BitTracker::BitMask mask (Register Reg, unsigned Sub) const override
uint16_t getPhysRegBitWidth (MCRegister Reg) const override
const TargetRegisterClass & composeWithSubRegIndex (const TargetRegisterClass &RC, unsigned Idx) const override
Public Member Functions inherited from llvm::BitTracker::MachineEvaluator
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 bool track (const TargetRegisterClass *RC) const
Public Attributes
MachineFunction & MF
MachineFrameInfo & MFI
const HexagonInstrInfo & TII
Public Attributes inherited from llvm::BitTracker::MachineEvaluator
const TargetRegisterInfo & TRI
MachineRegisterInfo & MRI

Detailed Description

Definition at line 24 of file HexagonBitTracker.h.

Member Typedef Documentation

BranchTargetList

CellMapType

RegisterCell

RegisterRef

Constructor & Destructor Documentation

Member Function Documentation

composeWithSubRegIndex()

evaluate() [1/2]

evaluate() [2/2]

Reimplemented from llvm::BitTracker::MachineEvaluator.

Definition at line 177 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::fill(), llvm::BitTracker::MachineEvaluator::getRegBitWidth(), I, im, llvm::BitTracker::RegisterCell::insert(), llvm::BitTracker::BitValue::is(), MFI, MI, llvm::BitTracker::MachineEvaluator::MRI, N, op, Opc, llvm::BitTracker::MachineEvaluator::putCell(), R2, rc, llvm::BitTracker::RegisterCell::ref(), Reg, llvm::BitTracker::RegisterCell::self(), llvm::shuffle(), and llvm::BitTracker::RegisterCell::width().

getPhysRegBitWidth()

mask()

Member Data Documentation

MF

MFI

TII


The documentation for this struct was generated from the following files: