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