summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode/thinlto-function-summary.ll
diff options
context:
space:
mode:
authorPiotr Padlewski <piotr.padlewski@gmail.com>2016-08-11 22:13:57 +0000
committerPiotr Padlewski <piotr.padlewski@gmail.com>2016-08-11 22:13:57 +0000
commit332b3b22109e9c0d84456888150c0a30f378f984 (patch)
tree777b39aba73791c52ead7d1c4a2e785441b0c86c /llvm/test/Bitcode/thinlto-function-summary.ll
parent6daefcf6262299a4233231c49b9048c1062dbc90 (diff)
downloadbcm5719-llvm-332b3b22109e9c0d84456888150c0a30f378f984.tar.gz
bcm5719-llvm-332b3b22109e9c0d84456888150c0a30f378f984.zip
Don't import variadic functions
Summary: This patch adds IsVariadicFunction bit to summary in order to not import variadic functions. Inliner doesn't inline variadic functions because it is hard to reason about it. This one small fix improves Importer by about 16% (going from 86% to 100% of imported functions that are inlined anywhere) on some spec benchmarks like 'int' and others. Reviewers: eraman, mehdi_amini, tejohnson Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D23339 llvm-svn: 278432
Diffstat (limited to 'llvm/test/Bitcode/thinlto-function-summary.ll')
-rw-r--r--llvm/test/Bitcode/thinlto-function-summary.ll14
1 files changed, 11 insertions, 3 deletions
diff --git a/llvm/test/Bitcode/thinlto-function-summary.ll b/llvm/test/Bitcode/thinlto-function-summary.ll
index f3fb6c4f010..0ab967dfcad 100644
--- a/llvm/test/Bitcode/thinlto-function-summary.ll
+++ b/llvm/test/Bitcode/thinlto-function-summary.ll
@@ -9,13 +9,17 @@
; BC-NEXT: <PERMODULE {{.*}} op0=1 op1=0
; BC-NEXT: <PERMODULE {{.*}} op0=2 op1=0
; BC-NEXT: <PERMODULE {{.*}} op0=3 op1=7
-; BC-NEXT: <ALIAS {{.*}} op0=4 op1=0 op2=3
+; BC-NEXT: <PERMODULE {{.*}} op0=4 op1=32
+; BC-NEXT: <ALIAS {{.*}} op0=5 op1=0 op2=3
; BC-NEXT: </GLOBALVAL_SUMMARY_BLOCK
; BC-NEXT: <VALUE_SYMTAB
-; BC-NEXT: <FNENTRY {{.*}} op0=3 {{.*}}> record string = 'anon.
+; BC-NEXT: <FNENTRY {{.*}} op0=4 {{.*}}> record string = 'variadic'
; BC-NEXT: <FNENTRY {{.*}} op0=1 {{.*}}> record string = 'foo'
; BC-NEXT: <FNENTRY {{.*}} op0=2 {{.*}}> record string = 'bar'
-; BC-NEXT: <FNENTRY {{.*}} op0=4 {{.*}}> record string = 'f'
+; BC-NEXT: <FNENTRY {{.*}} op0=5 {{.*}}> record string = 'f'
+; BC-NEXT: <ENTRY {{.*}} record string = 'h'
+; BC-NEXT: <FNENTRY {{.*}} op0=3 {{.*}}> record string = 'anon.
+
; RUN: opt -name-anon-functions -module-summary < %s | llvm-dis | FileCheck %s
; Check that this round-trips correctly.
@@ -56,3 +60,7 @@ entry:
return: ; preds = %entry
ret void
}
+
+define i32 @variadic(...) {
+ ret i32 42
+}
OpenPOWER on IntegriCloud