LLVM 20.0.0git
|
Context-sensitive CaptureInfo provider, which computes and caches the earliest common dominator closure of all captures. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Member Functions | |
EarliestEscapeInfo (DominatorTree &DT, const LoopInfo *LI=nullptr) | |
bool | isNotCapturedBefore (const Value *Object, const Instruction *I, bool OrAt) override |
Check whether Object is not captured before instruction I. | |
void | removeInstruction (Instruction *I) |
Public Member Functions inherited from llvm::CaptureInfo | |
virtual | ~CaptureInfo ()=0 |
virtual bool | isNotCapturedBefore (const Value *Object, const Instruction *I, bool OrAt)=0 |
Check whether Object is not captured before instruction I. | |
Context-sensitive CaptureInfo 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 178 of file AliasAnalysis.h.
|
inline |
Definition at line 193 of file AliasAnalysis.h.
|
overridevirtual |
Check whether Object is not captured before instruction I.
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::CaptureInfo.
Definition at line 217 of file BasicAliasAnalysis.cpp.
References llvm::FindEarliestCapture(), llvm::BasicBlock::getParent(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getRoot(), I, llvm::isIdentifiedFunctionLocal(), isNotInCycle(), and llvm::isPotentiallyReachable().
void EarliestEscapeInfo::removeInstruction | ( | Instruction * | I | ) |
Definition at line 251 of file BasicAliasAnalysis.cpp.
References I.
Referenced by llvm::MemoryDependenceResults::removeInstruction().