LLVM
8.0.1
|
This file defines a special form of Alias Analysis called ``Provenance Analysis''. More...
#include "ProvenanceAnalysis.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/ObjCARCAnalysisUtils.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include <utility>
Go to the source code of this file.
Functions | |
static bool | IsStoredObjCPointer (const Value *P) |
Test if the value of P, or any value covered by its provenance, is ever stored within the function (not counting callees). More... | |
This file defines a special form of Alias Analysis called ``Provenance Analysis''.
The word provenance'' refers to the history of the ownership of an object. Thus
Provenance Analysis'' is an analysis which attempts to use various techniques to determine if locally
WARNING: This file knows about certain library functions. It recognizes them by name, and hardwires knowledge of their semantics.
WARNING: This file knows about how certain Objective-C library functions are used. Naive LLVM IR transformations which would otherwise be behavior-preserving may break these assumptions.
Definition in file ProvenanceAnalysis.cpp.
Test if the value of P, or any value covered by its provenance, is ever stored within the function (not counting callees).
Definition at line 85 of file ProvenanceAnalysis.cpp.
References llvm::AAResults::alias(), llvm::SmallVectorBase::empty(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::objcarc::IsObjCIdentifiedObject(), llvm::MayAlias, llvm::MustAlias, llvm::NoAlias, llvm::PartialAlias, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T >::push_back(), and llvm::Value::uses().