LLVM  8.0.1
Classes | Public Types | Public Member Functions | List of all members
llvm::BitTracker Struct Reference

#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 RegisterCelllookup (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
 

Detailed Description

Definition at line 36 of file BitTracker.h.

Member Typedef Documentation

◆ BranchTargetList

Definition at line 44 of file BitTracker.h.

◆ CellMapType

Definition at line 45 of file BitTracker.h.

Constructor & Destructor Documentation

◆ BitTracker()

BitTracker::BitTracker ( const MachineEvaluator E,
MachineFunction F 
)

Definition at line 188 of file BitTracker.cpp.

◆ ~BitTracker()

BitTracker::~BitTracker ( )

Definition at line 192 of file BitTracker.cpp.

Member Function Documentation

◆ get()

BT::RegisterCell BT::get ( RegisterRef  RR) const

Definition at line 989 of file BitTracker.cpp.

◆ has()

bool llvm::BitTracker::has ( unsigned  Reg) const
inline

Definition at line 352 of file BitTracker.h.

Referenced by trace().

◆ lookup()

const BitTracker::RegisterCell & llvm::BitTracker::lookup ( unsigned  Reg) const
inline

Definition at line 357 of file BitTracker.h.

References assert(), and F().

Referenced by isDebug(), and trace().

◆ print_cells()

void BitTracker::print_cells ( raw_ostream OS) const

Definition at line 183 of file BitTracker.cpp.

References llvm::dbgs(), P, and llvm::printReg().

Referenced by run(), and trace().

◆ put()

void BT::put ( RegisterRef  RR,
const RegisterCell RC 
)

Definition at line 993 of file BitTracker.cpp.

Referenced by trace().

◆ reached()

bool BT::reached ( const MachineBasicBlock B) const

Definition at line 1024 of file BitTracker.cpp.

References assert(), and llvm::MachineBasicBlock::getNumber().

Referenced by trace().

◆ run()

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().

◆ subst()

void BT::subst ( RegisterRef  OldRR,
RegisterRef  NewRR 
)

◆ trace()

void llvm::BitTracker::trace ( bool  On = false)
inline

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().

◆ visit()

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().


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