diff options
Diffstat (limited to 'llvm/test/Transforms/Inline/always-inline.ll')
-rw-r--r-- | llvm/test/Transforms/Inline/always-inline.ll | 54 |
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 +} |