LLVM 17.0.0git
ProvenanceAnalysis.cpp File Reference

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>
Include dependency graph for ProvenanceAnalysis.cpp:

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).

## Detailed Description

This file defines a special form of Alias Analysis called Provenance Analysis''.

The wordprovenance'' 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.

## ◆ IsStoredObjCPointer()

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