21 using namespace llvm::objcarc;
57 for (
auto &Arg : F.
args())
63 for (
auto &
Op :
I->operands())
68 PA.
setAA(&getAnalysis<AAResultsWrapperPass>().getAAResults());
71 for (
Value *V1 : Values) {
77 errs() << NameV1 <<
" and " << NameV2;
79 errs() <<
" are related.\n";
81 errs() <<
" are not related.\n";
91 "Evaluate ProvenanceAnalysis on all pairs",
false,
true)
A parsed version of the target data layout string in and methods for querying it. ...
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
StringRef getName() const
Return a constant reference to the value's name.
AnalysisUsage & addRequired()
#define INITIALIZE_PASS_DEPENDENCY(depName)
inst_iterator inst_begin(Function *F)
static StringRef getName(Value *V)
bool insert(const value_type &X)
Insert a new element into the SetVector.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool startswith(StringRef Prefix) const
Check if this string starts with the given Prefix.
static GCRegistry::Add< CoreCLRGC > E("coreclr","CoreCLR-compatible GC")
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE StringRef substr(size_t Start, size_t N=npos) const
Return a reference to the substring from [Start, Start + N).
Represent the analysis usage information of a pass.
void setAA(AliasAnalysis *aa)
INITIALIZE_PASS_END(RegBankSelect, DEBUG_TYPE,"Assign register bank of generic virtual registers", false, false) RegBankSelect
FunctionPass class - This class is used to implement most global optimizations.
This file declares a special form of Alias Analysis called ``Provenance Analysis''.
Module.h This file contains the declarations for the Module class.
static void insertIfNamed(SetVector< Value * > &Values, Value *V)
FunctionPass * createPAEvalPass()
bool related(const Value *A, const Value *B, const DataLayout &DL)
const DataLayout & getDataLayout() const
Get the data layout for the module's target platform.
pa Evaluate ProvenanceAnalysis on all pairs
pa Evaluate ProvenanceAnalysis on all false
Module * getParent()
Get the module that this global value is contained inside of...
LLVM Value Representation.
This is similar to BasicAliasAnalysis, and it uses many of the same techniques, except it uses specia...
StringRef - Represent a constant reference to a string, i.e.
inst_iterator inst_end(Function *F)
INITIALIZE_PASS_BEGIN(PAEval,"pa-eval","Evaluate ProvenanceAnalysis on all pairs", false, true) INITIALIZE_PASS_END(PAEval
A wrapper pass to provide the legacy pass manager access to a suitably prepared AAResults object...
iterator_range< arg_iterator > args()