LLVM 20.0.0git
Public Member Functions | List of all members
llvm::detail::PtrUseVisitorBase::PtrInfo Class Reference

This class provides information about the result of a visit. More...

#include "llvm/Analysis/PtrUseVisitor.h"

Public Member Functions

 PtrInfo ()
 
void reset ()
 Reset the pointer info, clearing all state.
 
bool isAborted () const
 Did we abort the visit early?
 
bool isEscaped () const
 Is the pointer escaped at some point?
 
InstructiongetAbortingInst () const
 Get the instruction causing the visit to abort.
 
InstructiongetEscapingInst () const
 Get the instruction causing the pointer to escape.
 
void setAborted (Instruction *I=nullptr)
 Mark the visit as aborted.
 
void setEscaped (Instruction *I=nullptr)
 Mark the pointer as escaped.
 
void setEscapedAndAborted (Instruction *I=nullptr)
 Mark the pointer as escaped, and the visit as aborted.
 

Detailed Description

This class provides information about the result of a visit.

After walking all the users (recursively) of a pointer, the basic infrastructure records some commonly useful information such as escape analysis and whether the visit completed or aborted early.

Definition at line 54 of file PtrUseVisitor.h.

Constructor & Destructor Documentation

◆ PtrInfo()

llvm::detail::PtrUseVisitorBase::PtrInfo::PtrInfo ( )
inline

Definition at line 56 of file PtrUseVisitor.h.

Member Function Documentation

◆ getAbortingInst()

Instruction * llvm::detail::PtrUseVisitorBase::PtrInfo::getAbortingInst ( ) const
inline

Get the instruction causing the visit to abort.

Returns
a pointer to the instruction causing the abort if one is available; otherwise returns null.

Definition at line 75 of file PtrUseVisitor.h.

◆ getEscapingInst()

Instruction * llvm::detail::PtrUseVisitorBase::PtrInfo::getEscapingInst ( ) const
inline

Get the instruction causing the pointer to escape.

Returns
a pointer to the instruction which escapes the pointer if one is available; otherwise returns null.

Definition at line 80 of file PtrUseVisitor.h.

◆ isAborted()

bool llvm::detail::PtrUseVisitorBase::PtrInfo::isAborted ( ) const
inline

Did we abort the visit early?

Definition at line 67 of file PtrUseVisitor.h.

Referenced by llvm::PtrUseVisitor< DerivedT >::visitPtr().

◆ isEscaped()

bool llvm::detail::PtrUseVisitorBase::PtrInfo::isEscaped ( ) const
inline

Is the pointer escaped at some point?

Definition at line 70 of file PtrUseVisitor.h.

◆ reset()

void llvm::detail::PtrUseVisitorBase::PtrInfo::reset ( )
inline

Reset the pointer info, clearing all state.

Definition at line 59 of file PtrUseVisitor.h.

Referenced by llvm::PtrUseVisitor< DerivedT >::visitPtr().

◆ setAborted()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setAborted ( Instruction I = nullptr)
inline

Mark the visit as aborted.

Intended for use in a void return.

Parameters
IThe instruction which caused the visit to abort, if available.

Definition at line 84 of file PtrUseVisitor.h.

References I.

Referenced by setEscapedAndAborted().

◆ setEscaped()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setEscaped ( Instruction I = nullptr)
inline

Mark the pointer as escaped.

Intended for use in a void return.

Parameters
IThe instruction which escapes the pointer, if available.

Definition at line 91 of file PtrUseVisitor.h.

References I.

Referenced by setEscapedAndAborted(), llvm::PtrUseVisitor< DerivedT >::visitCallBase(), llvm::PtrUseVisitor< DerivedT >::visitPtrToIntInst(), and llvm::PtrUseVisitor< DerivedT >::visitStoreInst().

◆ setEscapedAndAborted()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setEscapedAndAborted ( Instruction I = nullptr)
inline

Mark the pointer as escaped, and the visit as aborted.

Intended for use in a void return.

Parameters
IThe instruction which both escapes the pointer and aborts the visit, if available.

Definition at line 100 of file PtrUseVisitor.h.

References I, setAborted(), and setEscaped().


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