summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Inline/always-inline.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/Inline/always-inline.ll')
-rw-r--r--llvm/test/Transforms/Inline/always-inline.ll54
1 files changed, 54 insertions, 0 deletions
diff --git a/llvm/test/Transforms/Inline/always-inline.ll b/llvm/test/Transforms/Inline/always-inline.ll
index f947bdbd8734..37e890532375 100644
--- a/llvm/test/Transforms/Inline/always-inline.ll
+++ b/llvm/test/Transforms/Inline/always-inline.ll
@@ -314,3 +314,57 @@ define void @outer14() {
call void @inner14()
ret void
}
+
+define internal i32 @inner15() {
+; CHECK: @inner15(
+ ret i32 1
+}
+
+define i32 @outer15() {
+; CHECK-LABEL: @outer15(
+; CHECK: call
+
+ %r = call i32 @inner15() noinline
+ ret i32 %r
+}
+
+define internal i32 @inner16() alwaysinline {
+; CHECK: @inner16(
+ ret i32 1
+}
+
+define i32 @outer16() {
+; CHECK-LABEL: @outer16(
+; CHECK: call
+
+ %r = call i32 @inner16() noinline
+ ret i32 %r
+}
+
+define i32 @inner17() alwaysinline {
+; CHECK: @inner17(
+ ret i32 1
+}
+
+define i32 @outer17() {
+; CHECK-LABEL: @outer17(
+; CHECK: call
+
+ %r = call i32 @inner17() noinline
+ ret i32 %r
+}
+
+define i32 @inner18() noinline {
+; CHECK: @inner18(
+ ret i32 1
+}
+
+define i32 @outer18() {
+; CHECK-LABEL: @outer18(
+; CHECK-NOT: call
+; CHECK: ret
+
+ %r = call i32 @inner18() alwaysinline
+
+ ret i32 %r
+}