[PATCH] D82572: [CallGraph] Add support for callback call sites
Sergey Dmitriev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 25 09:07:42 PDT 2020
sdmitriev created this revision.
sdmitriev added reviewers: jdoerfert, hfinkel.
Herald added subscribers: llvm-commits, sstefan1, kuter, hiraditya.
Herald added a reviewer: sstefan1.
Herald added a reviewer: baziotis.
Herald added a project: LLVM.
This patch changes call graph analysis to recognize callback call sites
and add an artificial 'reference' call record from the broker function
caller to the callback function in the call graph. A presence of such
reference enforces bottom-up traversal order for callback functions in
CG SCC pass manager because callback function logically becomes a callee
of the broker function caller.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D82572
Files:
llvm/include/llvm/Analysis/CallGraph.h
llvm/include/llvm/IR/AbstractCallSite.h
llvm/lib/Analysis/CallGraph.cpp
llvm/lib/Analysis/CallGraphSCCPass.cpp
llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp
llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
llvm/lib/Transforms/Utils/InlineFunction.cpp
llvm/test/Analysis/CallGraph/callback-calls.ll
llvm/test/Analysis/CallGraph/non-leaf-intrinsics.ll
llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
llvm/test/Transforms/Attributor/callbacks.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82572.273384.patch
Type: text/x-patch
Size: 22662 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200625/10d4c819/attachment.bin>
More information about the llvm-commits
mailing list