LLVM: llvm::detail::PtrUseVisitorBase Class Reference (original) (raw)

Implementation of non-dependent functionality for [PtrUseVisitor](classllvm%5F1%5F1PtrUseVisitor.html "A base class for visitors over the uses of a pointer value."). More...

#include "[llvm/Analysis/PtrUseVisitor.h](PtrUseVisitor%5F8h%5Fsource.html)"

Classes
class PtrInfo
This class provides information about the result of a visit. More...
struct UseToVisit
A struct of the data needed to visit a particular use. More...
Protected Member Functions
PtrUseVisitorBase (const DataLayout &DL)
Note that the constructor is protected because this class must be a base class, we can't create instances directly of this class.
void enqueueUsers (Value &I)
Enqueue the users of this instruction in the visit worklist.
bool adjustOffsetForGEP (GetElementPtrInst &GEPI)
Walk the operands of a GEP and adjust the offset as appropriate.
Protected Attributes
const DataLayout & DL
Visitation infrastructure
PtrInfo PI
The info collected about the pointer being visited thus far.
SmallVector< UseToVisit, 8 > Worklist
The worklist of to-visit uses.
SmallPtrSet< Use *, 8 > VisitedUses
A set of visited uses to break cycles in unreachable code.
Per-visit state
This state is reset for each instruction visited.
Use * U
The use currently being visited.
bool IsOffsetKnown
True if we have a known constant offset for the use currently being visited.
APInt Offset
The constant offset of the use if that is known.

Implementation of non-dependent functionality for [PtrUseVisitor](classllvm%5F1%5F1PtrUseVisitor.html "A base class for visitors over the uses of a pointer value.").

See [PtrUseVisitor](classllvm%5F1%5F1PtrUseVisitor.html "A base class for visitors over the uses of a pointer value.") for the public interface and detailed comments about usage. This class is just a helper base class which is not templated and contains all common code to be shared between different instantiations of PtrUseVisitor.

Definition at line 46 of file PtrUseVisitor.h.

llvm::detail::PtrUseVisitorBase::PtrUseVisitorBase ( const DataLayout & DL) inlineprotected

adjustOffsetForGEP()

enqueueUsers()

void detail::PtrUseVisitorBase::enqueueUsers ( Value & I) protected

DL

IsOffsetKnown

bool llvm::detail::PtrUseVisitorBase::IsOffsetKnown protected

Offset

APInt llvm::detail::PtrUseVisitorBase::Offset protected

PI

PtrInfo llvm::detail::PtrUseVisitorBase::PI protected

U

Use* llvm::detail::PtrUseVisitorBase::U protected

VisitedUses

Worklist


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