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