Go to file
Easwaran Raman 974d4eea93 [Inliner] Increase threshold for hot callsites without PGO.
Summary:
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 is enabled by
default at -O3.

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%

Reviewers: chandlerc, davidxl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36199

llvm-svn: 309994
2017-08-03 22:23:33 +00:00
clang Use "foo-12345.o" instead of "foo.o-12345" as temporary file name. 2017-08-03 21:06:36 +00:00
clang-tools-extra [test] Fix clang library dir in LD_LIBRARY_PATH For stand-alone build 2017-08-03 19:41:33 +00:00
compiler-rt [builtins] Use Interlocked* intrinsics for atomics on MSVC 2017-08-03 19:04:28 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc configure.py: Make python3 friendly 2017-08-02 15:00:59 +00:00
libcxx Fix libcxx build with glibc 2.26+ by removing xlocale.h include. 2017-08-03 04:28:10 +00:00
libcxxabi [demangler] Fix another bug found by oss-fuzz in r309340 2017-08-01 02:38:41 +00:00
libunwind Partial fix for PR33858 2017-07-26 18:13:57 +00:00
lld [PDB] Loosen checks for section contribution sizes 2017-08-03 21:20:41 +00:00
lldb Cut and paste error from r23162. 2017-08-03 19:38:38 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [Inliner] Increase threshold for hot callsites without PGO. 2017-08-03 22:23:33 +00:00
openmp Exclude version symbols for static libomp 2017-08-02 20:10:00 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [VirtualInstruction] Handle MetadataAsValue as constant. 2017-08-03 22:00:01 +00:00