[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