xref: /llvm-project/llvm/test/Transforms/Inline/delete-unused-function.ll (revision 9a0fe1b0fc23098d961750eb5310f307f4bb5ee5)
1; RUN: opt -passes=inline < %s -S | FileCheck %s
2
3; CHECK: define {{.*}}@caller
4; CHECK: define {{.*}}@f1
5; CHECK-NOT: define {{.*}}@f2
6; CHECK-NOT: define {{.*}}@f3
7; CHECK-NOT: define {{.*}}@f4
8; CHECK-NOT: define {{.*}}@f5
9; CHECK: define {{.*}}@f6
10; CHECK-NOT: define {{.*}}@f7
11; CHECK-NOT: define {{.*}}@f8
12
13$c1 = comdat any
14$c2 = comdat any
15$c3 = comdat any
16
17define void @caller() {
18  call void @f1()
19  call void @f2()
20  call void @f3()
21  call void @f4()
22  call void @f5()
23  call void @f6()
24  call void @f7()
25  call void @f8()
26  ret void
27}
28
29define void @f1() {
30  ret void
31}
32
33define internal void @f2() {
34  ret void
35}
36
37define private void @f3() {
38  ret void
39}
40
41define linkonce_odr void @f4() {
42  ret void
43}
44
45define linkonce_odr void @f5() comdat($c1) {
46  ret void
47}
48
49define linkonce_odr void @f6() comdat($c2) {
50  ret void
51}
52
53define linkonce_odr void @g() comdat($c2) {
54  ret void
55}
56
57define linkonce_odr void @f7() comdat($c3) {
58  ret void
59}
60
61define linkonce_odr void @f8() comdat($c3) {
62  ret void
63}
64