[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