LLVM
8.0.1
|
#include "Target/Hexagon/BitTracker.h"
Classes | |
struct | BitMask |
struct | BitRef |
struct | BitValue |
struct | MachineEvaluator |
struct | RegisterCell |
struct | RegisterRef |
Public Types | |
using | BranchTargetList = SetVector< const MachineBasicBlock * > |
using | CellMapType = std::map< unsigned, RegisterCell > |
Public Member Functions | |
BitTracker (const MachineEvaluator &E, MachineFunction &F) | |
~BitTracker () | |
void | run () |
void | trace (bool On=false) |
bool | has (unsigned Reg) const |
const RegisterCell & | lookup (unsigned Reg) const |
RegisterCell | get (RegisterRef RR) const |
void | put (RegisterRef RR, const RegisterCell &RC) |
void | subst (RegisterRef OldRR, RegisterRef NewRR) |
bool | reached (const MachineBasicBlock *B) const |
void | visit (const MachineInstr &MI) |
void | print_cells (raw_ostream &OS) const |
Definition at line 36 of file BitTracker.h.
Definition at line 44 of file BitTracker.h.
using llvm::BitTracker::CellMapType = std::map<unsigned, RegisterCell> |
Definition at line 45 of file BitTracker.h.
BitTracker::BitTracker | ( | const MachineEvaluator & | E, |
MachineFunction & | F | ||
) |
Definition at line 188 of file BitTracker.cpp.
BitTracker::~BitTracker | ( | ) |
Definition at line 192 of file BitTracker.cpp.
BT::RegisterCell BT::get | ( | RegisterRef | RR | ) | const |
Definition at line 989 of file BitTracker.cpp.
Definition at line 352 of file BitTracker.h.
Referenced by trace().
|
inline |
void BitTracker::print_cells | ( | raw_ostream & | OS | ) | const |
Definition at line 183 of file BitTracker.cpp.
References llvm::dbgs(), P, and llvm::printReg().
void BT::put | ( | RegisterRef | RR, |
const RegisterCell & | RC | ||
) |
Definition at line 993 of file BitTracker.cpp.
Referenced by trace().
bool BT::reached | ( | const MachineBasicBlock * | B | ) | const |
Definition at line 1024 of file BitTracker.cpp.
References assert(), and llvm::MachineBasicBlock::getNumber().
Referenced by trace().
void BT::run | ( | ) |
Definition at line 1118 of file BitTracker.cpp.
References assert(), B, llvm::dbgs(), llvm::MachineBasicBlock::getNumber(), and print_cells().
Referenced by INITIALIZE_PASS().
void BT::subst | ( | RegisterRef | OldRR, |
RegisterRef | NewRR | ||
) |
Definition at line 999 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitMask::first(), llvm::BitTracker::BitMask::last(), P, llvm::BitTracker::BitRef::Pos, llvm::BitTracker::BitValue::Ref, llvm::BitTracker::BitValue::RefI, llvm::BitTracker::BitRef::Reg, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, llvm::BitTracker::BitValue::Type, and llvm::BitTracker::RegisterCell::width().
Referenced by trace().
Definition at line 51 of file BitTracker.h.
References B, llvm::empty(), has(), lookup(), MI, MRI, print_cells(), put(), reached(), Reg, llvm::size(), subst(), and visit().
Referenced by INITIALIZE_PASS().
void BT::visit | ( | const MachineInstr & | MI | ) |
Definition at line 1032 of file BitTracker.cpp.
References assert(), B, llvm::MachineBasicBlock::begin(), and llvm::MachineInstr::isBranch().
Referenced by trace().