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.
This class represents lattice values for constants.
block Block Frequency true
AnalysisUsage & addRequired()
#define INITIALIZE_PASS_DEPENDENCY(depName)
amdgpu Simplify well known AMD library false Value Value const Twine & Name
inst_iterator inst_begin(Function *F)
const DataLayout & getDataLayout() const
Get the data layout for the module's target platform.
INITIALIZE_PASS_BEGIN(PAEval, "pa-eval", "Evaluate ProvenanceAnalysis on all pairs", false, true) INITIALIZE_PASS_END(PAEval
static StringRef getName(Value *V)
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool startswith(StringRef Prefix) const
Check if this string starts with the given Prefix.
bool insert(const value_type &X)
Insert a new element into the SetVector.
Predicate all(Predicate P0, Predicate P1)
True iff P0 and P1 are true.
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).
static bool runOnFunction(Function &F, bool PostInlining)
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Represent the analysis usage information of a pass.
void setAA(AliasAnalysis *aa)
FunctionPass class - This class is used to implement most global optimizations.
INITIALIZE_PASS_END(RegBankSelect, DEBUG_TYPE, "Assign register bank of generic virtual registers", false, false) RegBankSelect
This file declares a special form of Alias Analysis called ``Provenance Analysis''.
Module.h This file contains the declarations for the Module class.
FunctionPass * createPAEvalPass()
bool related(const Value *A, const Value *B, const DataLayout &DL)
amdgpu Simplify well known AMD library false Value Value * Arg
pa Evaluate ProvenanceAnalysis on all pairs
StringRef getName() const
Return a constant reference to the value's name.
Module * getParent()
Get the module that this global value is contained inside of...
LLVM Value Representation.
static void insertIfNamed(SetVector< Value *> &Values, Value *V)
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)
A wrapper pass to provide the legacy pass manager access to a suitably prepared AAResults object...
iterator_range< arg_iterator > args()