LLVM 22.0.0git
|
This callback is used in conjunction with PointerMayBeCaptured. More...
#include "llvm/Analysis/CaptureTracking.h"
Public Types | |
enum | Action { Stop , Continue , ContinueIgnoringReturn } |
Action returned from captures(). More... |
Public Member Functions | |
virtual | ~CaptureTracker () |
virtual void | tooManyUses ()=0 |
tooManyUses - The depth of traversal has breached a limit. | |
virtual bool | shouldExplore (const Use *U) |
shouldExplore - This is the use of a value derived from the pointer. | |
virtual Action | captured (const Use *U, UseCaptureInfo CI)=0 |
Use U directly captures CI.UseCC and additionally CI.ResultCC through the return value of the user of U. |
This callback is used in conjunction with PointerMayBeCaptured.
In addition to the interface here, you'll need to provide your own getters to see whether anything was captured.
Definition at line 139 of file CaptureTracking.h.
Action returned from captures().
Definition at line 141 of file CaptureTracking.h.
|
virtualdefault |
|
pure virtual |
Use U directly captures CI.UseCC and additionally CI.ResultCC through the return value of the user of U.
Return one of Stop, Continue or ContinueIgnoringReturn to control further traversal.
Referenced by computePointerICmp(), and llvm::PointerMayBeCaptured().
shouldExplore - This is the use of a value derived from the pointer.
To prune the search (ie., assume that none of its users could possibly capture) return false. To search it, return true.
U->getUser() is always an Instruction.
Definition at line 56 of file CaptureTracking.cpp.
Referenced by llvm::PointerMayBeCaptured(), and tooManyUses().
|
pure virtual |
tooManyUses - The depth of traversal has breached a limit.
There may be capturing instructions that will not be passed into captured().
References shouldExplore().
Referenced by computePointerICmp(), and llvm::PointerMayBeCaptured().