LLVM 22.0.0git
CaptureTracking.h File Reference

Go to the source code of this file.

Classes

struct  llvm::UseCaptureInfo
 Capture information for a specific Use. More...
struct  llvm::CaptureTracker
 This callback is used in conjunction with PointerMayBeCaptured. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

LLVM_ABI unsigned llvm::getDefaultMaxUsesToExploreForCaptureTracking ()
 getDefaultMaxUsesToExploreForCaptureTracking - Return default value of the maximal number of uses to explore before giving up.
LLVM_ABI bool llvm::PointerMayBeCaptured (const Value *V, bool ReturnCaptures, unsigned MaxUsesToExplore=0)
 PointerMayBeCaptured - Return true if this pointer value may be captured by the enclosing function (which is required to exist).
LLVM_ABI CaptureComponents llvm::PointerMayBeCaptured (const Value *V, bool ReturnCaptures, CaptureComponents Mask, function_ref< bool(CaptureComponents)> StopFn=capturesAnything, unsigned MaxUsesToExplore=0)
 Return which components of the pointer may be captured.
LLVM_ABI bool llvm::PointerMayBeCapturedBefore (const Value *V, bool ReturnCaptures, const Instruction *I, const DominatorTree *DT, bool IncludeI=false, unsigned MaxUsesToExplore=0, const LoopInfo *LI=nullptr)
 PointerMayBeCapturedBefore - Return true if this pointer value may be captured by the enclosing function (which is required to exist).
LLVM_ABI CaptureComponents llvm::PointerMayBeCapturedBefore (const Value *V, bool ReturnCaptures, const Instruction *I, const DominatorTree *DT, bool IncludeI, CaptureComponents Mask, function_ref< bool(CaptureComponents)> StopFn=capturesAnything, const LoopInfo *LI=nullptr, unsigned MaxUsesToExplore=0)
 Return which components of the pointer may be captured on the path to I.
LLVM_ABI std::pair< Instruction *, CaptureComponentsllvm::FindEarliestCapture (const Value *V, Function &F, bool ReturnCaptures, const DominatorTree &DT, CaptureComponents Mask, unsigned MaxUsesToExplore=0)
LLVM_ABI UseCaptureInfo llvm::DetermineUseCaptureKind (const Use &U, const Value *Base)
 Determine what kind of capture behaviour U may exhibit.
LLVM_ABI void llvm::PointerMayBeCaptured (const Value *V, CaptureTracker *Tracker, unsigned MaxUsesToExplore=0)
 PointerMayBeCaptured - Visit the value and the values derived from it and find values which appear to be capturing the pointer value.