blob: 7347e281fa1ca45a565d7c52c2207f641b481683 [file] [log] [blame]
Reid Spencereb1d74e2007-04-16 17:36:08 +00001; RUN: llvm-as < %s | llc -mtriple=i686-pc-linux-gnu -relocation-model=pic \
2; RUN: -o %t -f
3; RUN: grep _GLOBAL_OFFSET_TABLE_ %t
Dan Gohman28beeea2007-08-15 13:36:28 +00004; RUN: grep piclabel %t | count 3
5; RUN: grep PLT %t | count 6
6; RUN: grep GOTOFF %t | count 2
7; RUN: grep JTI %t | count 9
Anton Korobeynikov7f705592007-01-12 19:20:47 +00008
Reid Spencere3ff5ad2007-01-26 08:25:06 +00009define void @bar(i32 %n.u) {
Anton Korobeynikov7f705592007-01-12 19:20:47 +000010entry:
11 switch i32 %n.u, label %bb12 [i32 1, label %bb i32 2, label %bb6 i32 4, label %bb7 i32 5, label %bb8 i32 6, label %bb10 i32 7, label %bb1 i32 8, label %bb3 i32 9, label %bb4 i32 10, label %bb9 i32 11, label %bb2 i32 12, label %bb5 i32 13, label %bb11 ]
12bb:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000013 tail call void(...)* @foo1()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000014 ret void
15bb1:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000016 tail call void(...)* @foo2()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000017 ret void
18bb2:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000019 tail call void(...)* @foo6()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000020 ret void
21bb3:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000022 tail call void(...)* @foo3()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000023 ret void
24bb4:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000025 tail call void(...)* @foo4()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000026 ret void
27bb5:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000028 tail call void(...)* @foo5()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000029 ret void
30bb6:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000031 tail call void(...)* @foo1()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000032 ret void
33bb7:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000034 tail call void(...)* @foo2()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000035 ret void
36bb8:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000037 tail call void(...)* @foo6()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000038 ret void
39bb9:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000040 tail call void(...)* @foo3()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000041 ret void
42bb10:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000043 tail call void(...)* @foo4()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000044 ret void
45bb11:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000046 tail call void(...)* @foo5()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000047 ret void
48bb12:
Reid Spencere3ff5ad2007-01-26 08:25:06 +000049 tail call void(...)* @foo6()
Anton Korobeynikov7f705592007-01-12 19:20:47 +000050 ret void
51}
52
Reid Spencere3ff5ad2007-01-26 08:25:06 +000053declare void @foo1(...)
54declare void @foo2(...)
55declare void @foo6(...)
56declare void @foo3(...)
57declare void @foo4(...)
58declare void @foo5(...)