LLVM 20.0.0git
|
This is similar to BasicAliasAnalysis, and it uses many of the same techniques, except it uses special ObjC-specific reasoning about pointer relationships. More...
#include "Transforms/ObjCARC/ProvenanceAnalysis.h"
Public Member Functions | |
ProvenanceAnalysis ()=default | |
ProvenanceAnalysis (const ProvenanceAnalysis &)=delete | |
ProvenanceAnalysis & | operator= (const ProvenanceAnalysis &)=delete |
void | setAA (AAResults *aa) |
AAResults * | getAA () const |
bool | related (const Value *A, const Value *B) |
void | clear () |
This is similar to BasicAliasAnalysis, and it uses many of the same techniques, except it uses special ObjC-specific reasoning about pointer relationships.
In this context Provenance'' is defined as the history of an object's ownership. Thus
Provenance Analysis'' is defined by using the notion of an `‘independent provenance source’' of a pointer to determine whether or not two pointers have the same provenance source and thus could potentially be related.
Definition at line 51 of file ProvenanceAnalysis.h.
|
default |
|
delete |
|
inline |
Definition at line 77 of file ProvenanceAnalysis.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear().
|
inline |
Definition at line 73 of file ProvenanceAnalysis.h.
Referenced by llvm::objcarc::CanAlterRefCount(), and llvm::objcarc::CanUse().
|
delete |
Definition at line 158 of file ProvenanceAnalysis.cpp.
References A, B, llvm::objcarc::GetUnderlyingObjCPtrCached(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert().
Referenced by llvm::objcarc::CanAlterRefCount(), llvm::objcarc::CanUse(), and llvm::PAEvalPass::run().
|
inline |
Definition at line 71 of file ProvenanceAnalysis.h.
References aa.
Referenced by llvm::PAEvalPass::run().