affc933af1a29d0b1ea94f952e941e373dcf6249
[oota-llvm.git] / test / CodeGen / X86 / pic_jumptable.ll
1 ; RUN: llvm-as < %s | llc -relocation-model=pic -march=x86 | not grep -F .text
2 target endian = little
3 target pointersize = 32
4 target triple = "i386-linux-gnu"
5
6 implementation   ; Functions:
7
8 declare void %_Z3bari( int  )
9
10 linkonce void %_Z3fooILi1EEvi(int %Y) {
11 entry:
12         %Y_addr = alloca int            ; <int*> [#uses=2]
13         "alloca point" = cast int 0 to int              ; <int> [#uses=0]
14         store int %Y, int* %Y_addr
15         %tmp = load int* %Y_addr                ; <int> [#uses=1]
16         switch int %tmp, label %bb10 [
17                  int 0, label %bb3
18                  int 1, label %bb
19                  int 2, label %bb
20                  int 3, label %bb
21                  int 4, label %bb
22                  int 5, label %bb
23                  int 6, label %bb
24                  int 7, label %bb
25                  int 8, label %bb
26                  int 9, label %bb
27                  int 10, label %bb
28                  int 12, label %bb1
29                  int 13, label %bb5
30                  int 14, label %bb6
31                  int 16, label %bb2
32                  int 17, label %bb4
33                  int 23, label %bb8
34                  int 27, label %bb7
35                  int 34, label %bb9
36         ]
37
38 bb:             ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
39         br label %bb1
40
41 bb1:            ; preds = %bb, %entry
42         br label %bb2
43
44 bb2:            ; preds = %bb1, %entry
45         call void %_Z3bari( int 1 )
46         br label %bb11
47
48 bb3:            ; preds = %entry
49         br label %bb4
50
51 bb4:            ; preds = %bb3, %entry
52         br label %bb5
53
54 bb5:            ; preds = %bb4, %entry
55         br label %bb6
56
57 bb6:            ; preds = %bb5, %entry
58         call void %_Z3bari( int 2 )
59         br label %bb11
60
61 bb7:            ; preds = %entry
62         br label %bb8
63
64 bb8:            ; preds = %bb7, %entry
65         br label %bb9
66
67 bb9:            ; preds = %bb8, %entry
68         call void %_Z3bari( int 3 )
69         br label %bb11
70
71 bb10:           ; preds = %entry
72         br label %bb11
73
74 bb11:           ; preds = %bb10, %bb9, %bb6, %bb2
75         br label %return
76
77 return:         ; preds = %bb11
78         ret void
79 }