Update test to use llvm-readobj. NFC.
[oota-llvm.git] / test / Analysis / ScalarEvolution / pointer-sign-bits.ll
1 ; RUN: opt < %s -analyze -scalar-evolution
2
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
4   %JavaObject = type { [0 x i32 (...)*]*, i8* }
5
6 define void @JnJVM_antlr_CSharpCodeGenerator_genBitSet__Lantlr_collections_impl_BitSet_2I(%JavaObject*, %JavaObject*, i32) {
7 start:
8   br i1 undef, label %"stack overflow", label %"no stack overflow"
9
10 "GOTO or IF*2":         ; preds = %"true verifyAndComputePtr89", %verifyNullCont84
11   unreachable
12
13 "GOTO or IF*5":         ; preds = %"true verifyAndComputePtr127", %"GOTO or IF*6"
14   unreachable
15
16 "GOTO or IF*6":         ; preds = %"true verifyAndComputePtr131.GOTO or IF*6_crit_edge", %"true verifyAndComputePtr89"
17   %indvar = phi i32 [ %indvar.next, %"true verifyAndComputePtr131.GOTO or IF*6_crit_edge" ], [ 0, %"true verifyAndComputePtr89" ]               ; <i32> [#uses=2]
18   %.0.in = add i32 %indvar, 0           ; <i32> [#uses=1]
19   %.0 = add i32 %.0.in, 1               ; <i32> [#uses=1]
20   %3 = icmp slt i32 %.0, %4             ; <i1> [#uses=1]
21   br i1 %3, label %verifyNullCont126, label %"GOTO or IF*5"
22
23 end:            ; preds = %"no exception block35"
24   ret void
25
26 "stack overflow":               ; preds = %start
27   ret void
28
29 "no stack overflow":            ; preds = %start
30   br i1 undef, label %verifyNullCont, label %"no stack overflow.end_crit_edge"
31
32 "no stack overflow.end_crit_edge":              ; preds = %"no stack overflow"
33   ret void
34
35 verifyNullCont:         ; preds = %"no stack overflow"
36   br i1 undef, label %verifyNullCont9, label %verifyNullCont.end_crit_edge
37
38 verifyNullCont.end_crit_edge:           ; preds = %verifyNullCont
39   ret void
40
41 verifyNullCont9:                ; preds = %verifyNullCont
42   br i1 undef, label %verifyNullCont12, label %verifyNullCont9.end_crit_edge
43
44 verifyNullCont9.end_crit_edge:          ; preds = %verifyNullCont9
45   ret void
46
47 verifyNullCont12:               ; preds = %verifyNullCont9
48   br i1 undef, label %"no exception block13", label %verifyNullCont12.end_crit_edge
49
50 verifyNullCont12.end_crit_edge:         ; preds = %verifyNullCont12
51   ret void
52
53 "no exception block13":         ; preds = %verifyNullCont12
54   br i1 undef, label %verifyNullExit14, label %verifyNullCont15
55
56 verifyNullExit14:               ; preds = %"no exception block13"
57   ret void
58
59 verifyNullCont15:               ; preds = %"no exception block13"
60   br i1 undef, label %"no exception block16", label %verifyNullCont15.end_crit_edge
61
62 verifyNullCont15.end_crit_edge:         ; preds = %verifyNullCont15
63   ret void
64
65 "no exception block16":         ; preds = %verifyNullCont15
66   br i1 undef, label %verifyNullExit17, label %verifyNullCont18
67
68 verifyNullExit17:               ; preds = %"no exception block16"
69   ret void
70
71 verifyNullCont18:               ; preds = %"no exception block16"
72   br i1 undef, label %"no exception block19", label %verifyNullCont18.end_crit_edge
73
74 verifyNullCont18.end_crit_edge:         ; preds = %verifyNullCont18
75   ret void
76
77 "no exception block19":         ; preds = %verifyNullCont18
78   br i1 undef, label %verifyNullExit20, label %verifyNullCont21
79
80 verifyNullExit20:               ; preds = %"no exception block19"
81   ret void
82
83 verifyNullCont21:               ; preds = %"no exception block19"
84   br i1 undef, label %verifyNullCont24, label %verifyNullCont21.end_crit_edge
85
86 verifyNullCont21.end_crit_edge:         ; preds = %verifyNullCont21
87   ret void
88
89 verifyNullCont24:               ; preds = %verifyNullCont21
90   br i1 undef, label %verifyNullCont27, label %verifyNullCont24.end_crit_edge
91
92 verifyNullCont24.end_crit_edge:         ; preds = %verifyNullCont24
93   ret void
94
95 verifyNullCont27:               ; preds = %verifyNullCont24
96   br i1 undef, label %verifyNullCont32, label %verifyNullCont27.end_crit_edge
97
98 verifyNullCont27.end_crit_edge:         ; preds = %verifyNullCont27
99   ret void
100
101 verifyNullCont32:               ; preds = %verifyNullCont27
102   br i1 undef, label %verifyNullExit33, label %verifyNullCont34
103
104 verifyNullExit33:               ; preds = %verifyNullCont32
105   ret void
106
107 verifyNullCont34:               ; preds = %verifyNullCont32
108   br i1 undef, label %"no exception block35", label %verifyNullCont34.end_crit_edge
109
110 verifyNullCont34.end_crit_edge:         ; preds = %verifyNullCont34
111   ret void
112
113 "no exception block35":         ; preds = %verifyNullCont34
114   br i1 undef, label %end, label %verifyNullCont60
115
116 verifyNullCont60:               ; preds = %"no exception block35"
117   br i1 undef, label %verifyNullCont63, label %verifyNullCont60.end_crit_edge
118
119 verifyNullCont60.end_crit_edge:         ; preds = %verifyNullCont60
120   ret void
121
122 verifyNullCont63:               ; preds = %verifyNullCont60
123   br i1 undef, label %"no exception block64", label %verifyNullCont63.end_crit_edge
124
125 verifyNullCont63.end_crit_edge:         ; preds = %verifyNullCont63
126   ret void
127
128 "no exception block64":         ; preds = %verifyNullCont63
129   br i1 undef, label %verifyNullExit65, label %verifyNullCont66
130
131 verifyNullExit65:               ; preds = %"no exception block64"
132   ret void
133
134 verifyNullCont66:               ; preds = %"no exception block64"
135   br i1 undef, label %"no exception block67", label %verifyNullCont66.end_crit_edge
136
137 verifyNullCont66.end_crit_edge:         ; preds = %verifyNullCont66
138   ret void
139
140 "no exception block67":         ; preds = %verifyNullCont66
141   br i1 undef, label %verifyNullExit68, label %verifyNullCont69
142
143 verifyNullExit68:               ; preds = %"no exception block67"
144   ret void
145
146 verifyNullCont69:               ; preds = %"no exception block67"
147   br i1 undef, label %"no exception block70", label %verifyNullCont69.end_crit_edge
148
149 verifyNullCont69.end_crit_edge:         ; preds = %verifyNullCont69
150   ret void
151
152 "no exception block70":         ; preds = %verifyNullCont69
153   br i1 undef, label %verifyNullExit71, label %verifyNullCont72
154
155 verifyNullExit71:               ; preds = %"no exception block70"
156   ret void
157
158 verifyNullCont72:               ; preds = %"no exception block70"
159   br i1 undef, label %verifyNullCont75, label %verifyNullCont72.end_crit_edge
160
161 verifyNullCont72.end_crit_edge:         ; preds = %verifyNullCont72
162   ret void
163
164 verifyNullCont75:               ; preds = %verifyNullCont72
165   br i1 undef, label %verifyNullCont78, label %verifyNullCont75.end_crit_edge
166
167 verifyNullCont75.end_crit_edge:         ; preds = %verifyNullCont75
168   ret void
169
170 verifyNullCont78:               ; preds = %verifyNullCont75
171   br i1 undef, label %"verifyNullCont78.GOTO or IF*4_crit_edge", label %verifyNullCont78.end_crit_edge
172
173 "verifyNullCont78.GOTO or IF*4_crit_edge":              ; preds = %verifyNullCont78
174   br i1 undef, label %verifyNullExit80, label %verifyNullCont81
175
176 verifyNullCont78.end_crit_edge:         ; preds = %verifyNullCont78
177   ret void
178
179 verifyNullExit80:               ; preds = %"verifyNullCont78.GOTO or IF*4_crit_edge"
180   ret void
181
182 verifyNullCont81:               ; preds = %"verifyNullCont78.GOTO or IF*4_crit_edge"
183   %4 = ptrtoint i8* undef to i32                ; <i32> [#uses=2]
184   %5 = icmp slt i32 0, %4               ; <i1> [#uses=1]
185   br i1 %5, label %verifyNullCont84, label %verifyNullCont172
186
187 verifyNullCont84:               ; preds = %verifyNullCont81
188   br i1 undef, label %"GOTO or IF*2", label %verifyNullCont86
189
190 verifyNullCont86:               ; preds = %verifyNullCont84
191   br i1 undef, label %"true verifyAndComputePtr", label %"false verifyAndComputePtr"
192
193 "true verifyAndComputePtr":             ; preds = %verifyNullCont86
194   br i1 undef, label %"true verifyAndComputePtr89", label %"false verifyAndComputePtr90"
195
196 "false verifyAndComputePtr":            ; preds = %verifyNullCont86
197   ret void
198
199 "true verifyAndComputePtr89":           ; preds = %"true verifyAndComputePtr"
200   br i1 undef, label %"GOTO or IF*6", label %"GOTO or IF*2"
201
202 "false verifyAndComputePtr90":          ; preds = %"true verifyAndComputePtr"
203   ret void
204
205 verifyNullCont126:              ; preds = %"GOTO or IF*6"
206   br i1 undef, label %"true verifyAndComputePtr127", label %"false verifyAndComputePtr128"
207
208 "true verifyAndComputePtr127":          ; preds = %verifyNullCont126
209   br i1 undef, label %"true verifyAndComputePtr131.GOTO or IF*6_crit_edge", label %"GOTO or IF*5"
210
211 "false verifyAndComputePtr128":         ; preds = %verifyNullCont126
212   ret void
213
214 "true verifyAndComputePtr131.GOTO or IF*6_crit_edge":           ; preds = %"true verifyAndComputePtr127"
215   %indvar.next = add i32 %indvar, 1             ; <i32> [#uses=1]
216   br label %"GOTO or IF*6"
217
218 verifyNullCont172:              ; preds = %verifyNullCont81
219   unreachable
220 }