diff options
| author | Piotr Padlewski <piotr.padlewski@gmail.com> | 2016-08-11 22:13:57 +0000 |
|---|---|---|
| committer | Piotr Padlewski <piotr.padlewski@gmail.com> | 2016-08-11 22:13:57 +0000 |
| commit | 332b3b22109e9c0d84456888150c0a30f378f984 (patch) | |
| tree | 777b39aba73791c52ead7d1c4a2e785441b0c86c /llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll | |
| parent | 6daefcf6262299a4233231c49b9048c1062dbc90 (diff) | |
| download | bcm5719-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/Transforms/FunctionImport/Inputs/funcimport.ll')
| -rw-r--r-- | llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll b/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll index fa96b8ea266..c4ef37a168f 100644 --- a/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll +++ b/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll @@ -11,6 +11,7 @@ define void @globalfunc1() #0 { entry: call void @funcwithpersonality() + call void (...) @variadic() ret void } @@ -146,4 +147,8 @@ entry: ret void } +; Variadic function should not be imported because inliner doesn't handle it. +define void @variadic(...) { + ret void +} |

