LLVM
8.0.1
|
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 (AliasAnalysis *aa) |
AliasAnalysis * | getAA () const |
bool | related (const Value *A, const Value *B, const DataLayout &DL) |
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 52 of file ProvenanceAnalysis.h.
|
default |
|
delete |
|
inline |
|
inline |
Definition at line 73 of file ProvenanceAnalysis.h.
References related().
Referenced by llvm::objcarc::CanAlterRefCount(), and llvm::objcarc::CanUse().
|
delete |
Definition at line 164 of file ProvenanceAnalysis.cpp.
References llvm::objcarc::GetUnderlyingObjCPtrCached(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and std::swap().
Referenced by llvm::objcarc::CanAlterRefCount(), llvm::objcarc::CanUse(), getAA(), and insertIfNamed().
|
inline |