diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-10-23 20:09:55 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-10-23 20:09:55 +0000 |
commit | 4935ac688915c934b3d2fcde29c25ae8f0ce7b95 (patch) | |
tree | f79ce7d1c607d77cc52ac5c0445380856a15a36e /test/Feature | |
parent | d334a86a9fbd589d23cd3ee00c5729f477158989 (diff) |
[Inliner] Don't inline through callsites with operand bundles
Summary:
This change teaches the LLVM inliner to not inline through callsites
with unknown operand bundles. Currently all operand bundles are
"unknown" operand bundles but in the near future we will add support for
inlining through some select kinds of operand bundles.
Reviewers: reames, chandlerc, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14001
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251141 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Feature')
-rw-r--r-- | test/Feature/OperandBundles/inliner-conservative.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Feature/OperandBundles/inliner-conservative.ll b/test/Feature/OperandBundles/inliner-conservative.ll new file mode 100644 index 00000000000..d9f09f71d90 --- /dev/null +++ b/test/Feature/OperandBundles/inliner-conservative.ll @@ -0,0 +1,17 @@ +; RUN: opt -S -inline < %s | FileCheck %s + +; Check that the inliner does not inline through arbitrary unknown +; operand bundles. + +define i32 @callee() { + entry: + ret i32 2 +} + +define i32 @caller() { +; CHECK: @caller( + entry: +; CHECK: call i32 @callee() [ "unknown"() ] + %x = call i32 @callee() [ "unknown"() ] + ret i32 %x +} |