mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-10 12:32:21 +00:00
Decrease inlinecold-threshold to 45
I ran the test-suite (including SPEC 2006) in PGO mode comparing cold thresholds of 225 and 45. Here are some stats on the text size: Out of 904 tests that ran, 197 see a change in text size. The average text size reduction (of all the 904 binaries) is 1.07%. Of the 197 binaries, 19 see a text size increase, as high as 18%, but most of them are small single source benchmarks. There are 3 multisource benchmarks with a >0.5% size increase (0.7, 1.3 and 2.1 are their % increases). On the other side of the spectrum, 31 benchmarks see >10% size reduction and 6 of them are MultiSource. I haven't run the test-suite with other values of inlinecold-threshold. Since we have a cold callsite threshold of 45, I picked this value. Differential revision: https://reviews.llvm.org/D33106 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302829 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cbc4dcf053
commit
d70d2ba0c1
@ -63,7 +63,7 @@ static cl::opt<bool>
|
||||
// PGO before we actually hook up inliner with analysis passes such as BPI and
|
||||
// BFI.
|
||||
static cl::opt<int> ColdThreshold(
|
||||
"inlinecold-threshold", cl::Hidden, cl::init(225),
|
||||
"inlinecold-threshold", cl::Hidden, cl::init(45),
|
||||
cl::desc("Threshold for inlining functions with cold attribute"));
|
||||
|
||||
static cl::opt<int>
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: opt < %s -inline -S -inlinecold-threshold=75 | FileCheck %s
|
||||
; RUN: opt < %s -inline -S -inlinecold-threshold=25 | FileCheck %s
|
||||
; Test that functions with attribute Cold are not inlined while the
|
||||
; same function without attribute Cold will be inlined.
|
||||
|
||||
@ -64,23 +64,7 @@ entry:
|
||||
%x3 = add i32 %x2, %a3
|
||||
%a4 = load volatile i32, i32* @a
|
||||
%x4 = add i32 %x3, %a4
|
||||
%a5 = load volatile i32, i32* @a
|
||||
%x5 = add i32 %x4, %a5
|
||||
%a6 = load volatile i32, i32* @a
|
||||
%x6 = add i32 %x5, %a6
|
||||
%a7 = load volatile i32, i32* @a
|
||||
%x7 = add i32 %x6, %a6
|
||||
%a8 = load volatile i32, i32* @a
|
||||
%x8 = add i32 %x7, %a8
|
||||
%a9 = load volatile i32, i32* @a
|
||||
%x9 = add i32 %x8, %a9
|
||||
%a10 = load volatile i32, i32* @a
|
||||
%x10 = add i32 %x9, %a10
|
||||
%a11 = load volatile i32, i32* @a
|
||||
%x11 = add i32 %x10, %a11
|
||||
%a12 = load volatile i32, i32* @a
|
||||
%x12 = add i32 %x11, %a12
|
||||
%add = add i32 %x12, %a
|
||||
%add = add i32 %x4, %a
|
||||
ret i32 %add
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user