[PATCH] [CallGraph] Teach the CallGraph about non-leaf intrinsics.
Sanjoy Das
sanjoy at playingwithpointers.com
Wed Jun 17 17:50:29 PDT 2015
Hi reames, chandlerc, atrick, pgavlin,
Currently intrinsics don't affect the creation of the call graph.
This is not accurate with respect to statepoint and patchpoint
intrinsics -- these do call (or invoke) LLVM level functions.
This change fixes this inconsistency by adding a call to the external
node for call sites that call these non-leaf intrinsics. This coupled
with the fact that these intrinsics also escape the function pointer
they call gives us a conservatively correct call graph.
http://reviews.llvm.org/D10526
Files:
include/llvm/Analysis/CallGraph.h
include/llvm/IR/Intrinsics.h
lib/Analysis/IPA/CallGraph.cpp
lib/Analysis/IPA/CallGraphSCCPass.cpp
lib/IR/Function.cpp
test/Analysis/CallGraph/non-leaf-intrinsics.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10526.27905.patch
Type: text/x-patch
Size: 5587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150618/96403703/attachment.bin>
More information about the llvm-commits
mailing list