[PATCH] D36199: [Inliner] Increase threshold for hot callsites without PGO.

Easwaran Raman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 1 16:17:27 PDT 2017


eraman created this revision.

This increases the inlining threshold for hot callsites. Hotness is
defined in terms of block frequency of the callsite relative to the
caller's entry block's frequency. Since this requires BFI in the
inliner, this only affects the new PM pipeline.

This improves the performance of some internal benchmarks. Notably, an
internal benchmark for Gipfeli compression
(https://github.com/google/gipfeli) improves by ~7%. Povray in SPEC2006
improves by ~2.5%. I am running more experiments and will update the
thread if other benchmarks show improvement/regression.

In terms of text size, LLVM test-suite shows an 1.22% text size
increase. Diving into the results, 13 of the benchmarks in the
test-suite increases by > 10%. Most of these are small, but
Adobe-C++/loop_unroll (17.6% increases) and tramp3d(20.7% size increase)
have >250K text size. On a large application, the text size increases by
2%


https://reviews.llvm.org/D36199

Files:
  include/llvm/Analysis/InlineCost.h
  lib/Analysis/InlineCost.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36199.109250.patch
Type: text/x-patch
Size: 4752 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170801/eeb3c96d/attachment.bin>


More information about the llvm-commits mailing list