Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / Inline / inline_dce.ll
blob8ac074d4e5c88a071e928ba1a8e6c96b0fa9b291
1 ; This checks to ensure that the inline pass deletes functions if they get
2 ; inlined into all of their callers.
4 ; RUN: opt < %s -passes=inline -S | \
5 ; RUN:   not grep @reallysmall
7 define internal i32 @reallysmall(i32 %A) {
8 ; CHECK-NOT: @reallysmall
9 entry:
10   ret i32 %A
13 define void @caller1() {
14 ; CHECK-LABEL: define void @caller1()
15 entry:
16   call i32 @reallysmall(i32 5)
17 ; CHECK-NOT: call
18   ret void
21 define void @caller2(i32 %A) {
22 ; CHECK-LABEL: define void @caller2(i32 %A)
23 entry:
24   call i32 @reallysmall(i32 %A)
25 ; CHECK-NOT: call
26   ret void
29 define i32 @caller3(i32 %A) {
30 ; CHECK-LABEL: define void @caller3(i32 %A)
31 entry:
32   %B = call i32 @reallysmall(i32 %A)
33 ; CHECK-NOT: call
34   ret i32 %B