LLVM 22.0.0git
|
Context-sensitive CaptureAnalysis provider, which computes and caches the earliest common dominator closure of all captures. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Member Functions | |
EarliestEscapeAnalysis (DominatorTree &DT, const LoopInfo *LI=nullptr) | |
CaptureComponents | getCapturesBefore (const Value *Object, const Instruction *I, bool OrAt) override |
Return how Object may be captured before instruction I, considering only provenance captures. | |
void | removeInstruction (Instruction *I) |
Public Member Functions inherited from llvm::CaptureAnalysis | |
virtual | ~CaptureAnalysis ()=0 |
Context-sensitive CaptureAnalysis provider, which computes and caches the earliest common dominator closure of all captures.
It provides a good approximation to a precise "captures before" analysis.
Definition at line 175 of file AliasAnalysis.h.
|
inline |
Definition at line 192 of file AliasAnalysis.h.
|
overridevirtual |
Return how Object may be captured before instruction I, considering only provenance captures.
If OrAt is true, captures by instruction I itself are also considered.
If I is nullptr, then captures at any point will be considered.
Implements llvm::CaptureAnalysis.
Definition at line 225 of file BasicAliasAnalysis.cpp.
References llvm::FindEarliestCapture(), I, llvm::isIdentifiedFunctionLocal(), isNotInCycle(), llvm::isPotentiallyReachable(), llvm::None, and llvm::Provenance.
void EarliestEscapeAnalysis::removeInstruction | ( | Instruction * | I | ) |
Definition at line 264 of file BasicAliasAnalysis.cpp.
References I.