LLVM 22.0.0git
|
#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 32 of file BitTracker.h.
Definition at line 40 of file BitTracker.h.
using llvm::BitTracker::CellMapType = std::map<unsigned, RegisterCell> |
Definition at line 41 of file BitTracker.h.
BitTracker::BitTracker | ( | const MachineEvaluator & | E, |
MachineFunction & | F ) |
Definition at line 182 of file BitTracker.cpp.
References F.
BitTracker::~BitTracker | ( | ) |
Definition at line 186 of file BitTracker.cpp.
BT::RegisterCell BT::get | ( | RegisterRef | RR | ) | const |
Definition at line 984 of file BitTracker.cpp.
Definition at line 349 of file BitTracker.h.
References Reg.
|
inline |
Definition at line 354 of file BitTracker.h.
void BitTracker::print_cells | ( | raw_ostream & | OS | ) | const |
Definition at line 177 of file BitTracker.cpp.
References llvm::dbgs(), P, and llvm::printReg().
Referenced by run().
void BT::put | ( | RegisterRef | RR, |
const RegisterCell & | RC ) |
Definition at line 988 of file BitTracker.cpp.
bool BT::reached | ( | const MachineBasicBlock * | B | ) | const |
Definition at line 1019 of file BitTracker.cpp.
void BT::run | ( | ) |
Definition at line 1112 of file BitTracker.cpp.
References assert(), B(), llvm::dbgs(), and print_cells().
void BT::subst | ( | RegisterRef | OldRR, |
RegisterRef | NewRR ) |
Definition at line 994 of file BitTracker.cpp.
References assert(), llvm::BitTracker::BitMask::first(), llvm::BitTracker::BitMask::last(), P, llvm::BitTracker::BitValue::Ref, llvm::BitTracker::RegisterRef::Reg, llvm::BitTracker::RegisterRef::Sub, and llvm::BitTracker::RegisterCell::width().
|
inline |
Definition at line 47 of file BitTracker.h.
void BT::visit | ( | const MachineInstr & | MI | ) |
Definition at line 1027 of file BitTracker.cpp.