summaryrefslogtreecommitdiff
path: root/test/Feature
diff options
context:
space:
mode:
authorSanjoy Das <sanjoy@playingwithpointers.com>2015-10-23 20:09:55 +0000
committerSanjoy Das <sanjoy@playingwithpointers.com>2015-10-23 20:09:55 +0000
commit4935ac688915c934b3d2fcde29c25ae8f0ce7b95 (patch)
treef79ce7d1c607d77cc52ac5c0445380856a15a36e /test/Feature
parentd334a86a9fbd589d23cd3ee00c5729f477158989 (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.ll17
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
+}