LLVM  mainline
ProvenanceAnalysis.cpp File Reference
#include "ObjCARC.h"
#include "ProvenanceAnalysis.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
Include dependency graph for ProvenanceAnalysis.cpp:

Go to the source code of this file.


static bool IsStoredObjCPointer (const Value *P)

Detailed Description

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.

Function Documentation

static bool IsStoredObjCPointer ( const Value P) [static]

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 77 of file ProvenanceAnalysis.cpp.

References llvm::SmallVectorBase::empty(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::Value::uses().