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

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?
 
bool isEscapedReadOnly () const
 Is the pointer escaped into a read-only nocapture call at some point?
 
InstructiongetAbortingInst () const
 Get the instruction causing the visit to abort.
 
InstructiongetEscapingInst () const
 Get the instruction causing the pointer to escape.
 
InstructiongetEscapedReadOnlyInst () const
 Get the instruction causing the pointer to escape which is a read-only nocapture call.
 
void setAborted (Instruction *I)
 Mark the visit as aborted.
 
void setEscaped (Instruction *I)
 Mark the pointer as escaped.
 
void setEscapedReadOnly (Instruction *I)
 Mark the pointer as escaped into a readonly-nocapture call.
 
void setEscapedAndAborted (Instruction *I)
 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 53 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 73 of file PtrUseVisitor.h.

◆ getEscapedReadOnlyInst()

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

Get the instruction causing the pointer to escape which is a read-only nocapture call.

Definition at line 82 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 78 of file PtrUseVisitor.h.

◆ isAborted()

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

Did we abort the visit early?

Definition at line 62 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 65 of file PtrUseVisitor.h.

◆ isEscapedReadOnly()

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

Is the pointer escaped into a read-only nocapture call at some point?

Definition at line 68 of file PtrUseVisitor.h.

◆ reset()

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

Reset the pointer info, clearing all state.

Definition at line 56 of file PtrUseVisitor.h.

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

◆ setAborted()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setAborted ( Instruction I)
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 86 of file PtrUseVisitor.h.

References assert(), and I.

Referenced by setEscapedAndAborted().

◆ setEscaped()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setEscaped ( Instruction I)
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 93 of file PtrUseVisitor.h.

References assert(), and I.

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

◆ setEscapedAndAborted()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setEscapedAndAborted ( Instruction I)
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 108 of file PtrUseVisitor.h.

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

◆ setEscapedReadOnly()

void llvm::detail::PtrUseVisitorBase::PtrInfo::setEscapedReadOnly ( Instruction I)
inline

Mark the pointer as escaped into a readonly-nocapture call.

Definition at line 99 of file PtrUseVisitor.h.

References assert(), and I.


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