[PATCH] D22491: Added ThinLTO inlining statistics

Piotr Padlewski via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 18 16:56:16 PDT 2016


Prazek created this revision.
Prazek added reviewers: eraman, tejohnson, mehdi_amini.
Prazek added a subscriber: llvm-commits.
Herald added a subscriber: mehdi_amini.

copypasta doc of InlinerStats class
 InlinerStatistics - calculating and dumping statistics on performed inlines.
 It calculates statistics summarized stats like:
 (1) Number of inlined imported functions,
 (2) Number of real inlined imported functions
 (3) Number of real not external inlined functions
 The difference between first and the second is that first stat counts
 all performed inlines, and second one only the functions that really have
 been inlined to some not imported function. Because llvm uses bottom-up
 inliner, it is possible to e.g. import function A, B and then inline B to A,
 and after this A might be too big to be inlined into some other function
 that calls it. It calculates the real values by building graph, where
 the nodes are functions, and edges are performed inlines.
 Then starting from non external functions that have some inlined calls
 inside, it walks to every inlined function and increment counter.
 +///
 If `EnableListStats` is set to true, then it also dumps statistics
 per each inlined function, sorted by the greatest inlines count like
 - number of performed inlines
 - number of performed real inlines

https://reviews.llvm.org/D22491

Files:
  include/llvm/Transforms/IPO/InlinerStats.h
  lib/Transforms/IPO/CMakeLists.txt
  lib/Transforms/IPO/Inliner.cpp
  lib/Transforms/IPO/InlinerStats.cpp
  test/Transforms/Inline/inline_stats.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22491.64425.patch
Type: text/x-patch
Size: 11639 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160718/bc5dd658/attachment.bin>


More information about the llvm-commits mailing list