class ProvenanceAnalysis
Declaration
class ProvenanceAnalysis { /* full declaration omitted */ };
Description
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.
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:51
Method Overview
- public ProvenanceAnalysis()
- public ProvenanceAnalysis(const llvm::objcarc::ProvenanceAnalysis &)
- public void clear()
- public llvm::AliasAnalysis * getAA() const
- public bool related(const llvm::Value * A, const llvm::Value * B, const llvm::DataLayout & DL)
- public void setAA(llvm::AliasAnalysis * aa)
Methods
¶ProvenanceAnalysis()
ProvenanceAnalysis()
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:66
¶ProvenanceAnalysis(
const llvm::objcarc::ProvenanceAnalysis&)
ProvenanceAnalysis(
const llvm::objcarc::ProvenanceAnalysis&)
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:67
Parameters
¶void clear()
void clear()
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:76
¶llvm::AliasAnalysis* getAA() const
llvm::AliasAnalysis* getAA() const
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:72
¶bool related(const llvm::Value* A,
const llvm::Value* B,
const llvm::DataLayout& DL)
bool related(const llvm::Value* A,
const llvm::Value* B,
const llvm::DataLayout& DL)
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:74
Parameters
- const llvm::Value* A
- const llvm::Value* B
- const llvm::DataLayout& DL
¶void setAA(llvm::AliasAnalysis* aa)
void setAA(llvm::AliasAnalysis* aa)
Declared at: llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h:70