506 lines · plain
1; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -relocation-model=pic -frame-pointer=all -O32 3 %0 = type { i16, i8, i8 } ; type %04 %1 = type { [2 x i32], [2 x i32] } ; type %15 %2 = type { %struct.GAP } ; type %26 %3 = type { ptr } ; type %37 %4 = type { i8, i8, i16, i8, i8, i8, i8 } ; type %48 %5 = type { i8, i8, i8, i8 } ; type %59 %struct.COMPOSITE = type { i8, i16, i16 }10 %struct.FILE = type { ptr, i32, i32, i16, i16, %struct.__sbuf, i32, ptr, ptr, ptr, ptr, ptr, %struct.__sbuf, ptr, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }11 %struct.FILE_POS = type { i8, i8, i16, i32 }12 %struct.FIRST_UNION = type { %struct.FILE_POS }13 %struct.FONT_INFO = type { ptr, ptr, ptr, ptr, i32, ptr, ptr, i16, i16, ptr, ptr, ptr, ptr }14 %struct.FOURTH_UNION = type { %struct.STYLE }15 %struct.GAP = type { i8, i8, i16 }16 %struct.LIST = type { ptr, ptr }17 %struct.SECOND_UNION = type { %0 }18 %struct.STYLE = type { %2, %2, i16, i16, i32 }19 %struct.THIRD_UNION = type { %1 }20 %struct.__sFILEX = type opaque21 %struct.__sbuf = type { ptr, i32 }22 %struct.head_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, %struct.FOURTH_UNION, ptr, %3, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32 }23 %struct.metrics = type { i16, i16, i16, i16, i16 }24 %struct.rec = type { %struct.head_type }25@.str24239 = external constant [20 x i8], align 1 ; <ptr> [#uses=1]26@no_file_pos = external global %4 ; <ptr> [#uses=1]27@.str19294 = external constant [9 x i8], align 1 ; <ptr> [#uses=1]28@zz_lengths = external global [150 x i8] ; <ptr> [#uses=1]29@next_free.4772 = external global ptr ; <ptr> [#uses=3]30@top_free.4773 = external global ptr ; <ptr> [#uses=2]31@.str1575 = external constant [32 x i8], align 1 ; <ptr> [#uses=1]32@zz_free = external global [524 x ptr] ; <ptr> [#uses=2]33@zz_hold = external global ptr ; <ptr> [#uses=5]34@zz_tmp = external global ptr ; <ptr> [#uses=2]35@zz_res = external global ptr ; <ptr> [#uses=2]36@xx_link = external global ptr ; <ptr> [#uses=2]37@font_count = external global i32 ; <ptr> [#uses=1]38@.str81872 = external constant [10 x i8], align 1 ; <ptr> [#uses=1]39@.str101874 = external constant [30 x i8], align 1 ; <ptr> [#uses=1]40@.str111875 = external constant [17 x i8], align 1 ; <ptr> [#uses=1]41@.str141878 = external constant [27 x i8], align 1 ; <ptr> [#uses=1]42@out_fp = external global ptr ; <ptr> [#uses=3]43@.str192782 = external constant [17 x i8], align 1 ; <ptr> [#uses=1]44@cpexists = external global i32 ; <ptr> [#uses=2]45@.str212784 = external constant [17 x i8], align 1 ; <ptr> [#uses=1]46@currentfont = external global i32 ; <ptr> [#uses=3]47@wordcount = external global i32 ; <ptr> [#uses=1]48@needs = external global ptr ; <ptr> [#uses=1]49@.str742838 = external constant [6 x i8], align 1 ; <ptr> [#uses=1]50@.str752839 = external constant [10 x i8], align 1 ; <ptr> [#uses=1]51@.str1802944 = external constant [40 x i8], align 1 ; <ptr> [#uses=1]52@.str1822946 = external constant [8 x i8], align 1 ; <ptr> [#uses=1]53@.str1842948 = external constant [11 x i8], align 1 ; <ptr> [#uses=1]54@.str1852949 = external constant [23 x i8], align 1 ; <ptr> [#uses=1]55@.str1872951 = external constant [17 x i8], align 1 ; <ptr> [#uses=1]56@.str1932957 = external constant [26 x i8], align 1 ; <ptr> [#uses=1]57 58declare i32 @fprintf(ptr nocapture, ptr nocapture, ...) nounwind59 60declare i32 @"\01_fwrite"(ptr, i32, i32, ptr)61 62declare i32 @remove(ptr nocapture) nounwind63 64declare ptr @OpenIncGraphicFile(ptr, i8 zeroext, ptr nocapture, ptr, ptr nocapture) nounwind65 66declare ptr @MakeWord(i32, ptr nocapture, ptr) nounwind67 68declare void @Error(i32, i32, ptr, i32, ptr, ...) nounwind69 70declare i32 @"\01_fputs"(ptr, ptr)71 72declare noalias ptr @calloc(i32, i32) nounwind73 74declare ptr @fgets(ptr, i32, ptr nocapture) nounwind75 76define void @PS_PrintGraphicInclude(ptr %x, i32 %colmark, i32 %rowmark) nounwind {77entry:78 %buff = alloca [512 x i8], align 4 ; <ptr> [#uses=5]79 %0 = getelementptr %struct.rec, ptr %x, i32 0, i32 0, i32 1, i32 0, i32 0 ; <ptr> [#uses=2]80 %1 = load i8, ptr %0, align 4 ; <i8> [#uses=1]81 %2 = add i8 %1, -94 ; <i8> [#uses=1]82 %3 = icmp ugt i8 %2, 1 ; <i1> [#uses=1]83 br i1 %3, label %bb, label %bb184 85bb: ; preds = %entry86 br label %bb187 88bb1: ; preds = %bb, %entry89 %4 = getelementptr %struct.rec, ptr %x, i32 0, i32 0, i32 2 ; <ptr> [#uses=1]90 %5 = getelementptr %4, ptr %4, i32 0, i32 1 ; <ptr> [#uses=1]91 %6 = load i8, ptr %5, align 1 ; <i8> [#uses=1]92 %7 = icmp eq i8 %6, 0 ; <i1> [#uses=1]93 br i1 %7, label %bb2, label %bb394 95bb2: ; preds = %bb196 call void (i32, i32, ptr, i32, ptr, ...) @Error(i32 1, i32 2, ptr @.str24239, i32 0, ptr @no_file_pos, ptr @.str1802944) nounwind97 br label %bb398 99bb3: ; preds = %bb2, %bb1100 %8 = load ptr, ptr undef, align 4 ; <ptr> [#uses=0]101 br label %bb5102 103bb5: ; preds = %bb5, %bb3104 %y.0 = load ptr, ptr null ; <ptr> [#uses=2]105 br i1 false, label %bb5, label %bb6106 107bb6: ; preds = %bb5108 %9 = load i8, ptr %0, align 4 ; <i8> [#uses=1]109 %10 = getelementptr %struct.rec, ptr %y.0, i32 0, i32 0, i32 1, i32 0 ; <ptr> [#uses=1]110 %11 = call ptr @OpenIncGraphicFile(ptr undef, i8 zeroext %9, ptr null, ptr %10, ptr undef) nounwind ; <ptr> [#uses=4]111 br i1 false, label %bb7, label %bb8112 113bb7: ; preds = %bb6114 unreachable115 116bb8: ; preds = %bb6117 %12 = and i32 undef, 4095 ; <i32> [#uses=2]118 %13 = load i32, ptr @currentfont, align 4 ; <i32> [#uses=0]119 br i1 false, label %bb10, label %bb9120 121bb9: ; preds = %bb8122 %14 = icmp ult i32 0, %12 ; <i1> [#uses=1]123 br i1 %14, label %bb.i, label %FontHalfXHeight.exit124 125bb.i: ; preds = %bb9126 call void (i32, i32, ptr, i32, ptr, ...) @Error(i32 1, i32 2, ptr @.str24239, i32 0, ptr @no_file_pos, ptr @.str111875) nounwind127 %.pre186 = load i32, ptr @currentfont, align 4 ; <i32> [#uses=1]128 br label %FontHalfXHeight.exit129 130FontHalfXHeight.exit: ; preds = %bb.i, %bb9131 %15 = phi i32 [ %.pre186, %bb.i ], [ %12, %bb9 ] ; <i32> [#uses=1]132 br i1 false, label %bb.i1, label %bb1.i133 134bb.i1: ; preds = %FontHalfXHeight.exit135 br label %bb1.i136 137bb1.i: ; preds = %bb.i1, %FontHalfXHeight.exit138 br i1 undef, label %bb2.i, label %FontSize.exit139 140bb2.i: ; preds = %bb1.i141 call void (i32, i32, ptr, i32, ptr, ...) @Error(i32 37, i32 61, ptr @.str101874, i32 1, ptr null) nounwind142 unreachable143 144FontSize.exit: ; preds = %bb1.i145 %16 = getelementptr %struct.FONT_INFO, ptr undef, i32 %15, i32 5 ; <ptr> [#uses=0]146 %17 = load i32, ptr undef, align 4 ; <i32> [#uses=1]147 %18 = load i32, ptr @currentfont, align 4 ; <i32> [#uses=2]148 %19 = load i32, ptr @font_count, align 4 ; <i32> [#uses=1]149 %20 = icmp ult i32 %19, %18 ; <i1> [#uses=1]150 br i1 %20, label %bb.i5, label %FontName.exit151 152bb.i5: ; preds = %FontSize.exit153 call void (i32, i32, ptr, i32, ptr, ...) @Error(i32 1, i32 2, ptr @.str24239, i32 0, ptr @no_file_pos, ptr @.str81872) nounwind154 br label %FontName.exit155 156FontName.exit: ; preds = %bb.i5, %FontSize.exit157 %21 = phi ptr [ undef, %bb.i5 ], [ undef, %FontSize.exit ] ; <ptr> [#uses=1]158 %22 = getelementptr %struct.FONT_INFO, ptr %21, i32 %18, i32 5 ; <ptr> [#uses=0]159 %23 = call i32 (ptr, ptr, ...) @fprintf(ptr undef, ptr @.str1822946, i32 %17, ptr null) nounwind ; <i32> [#uses=0]160 br label %bb10161 162bb10: ; preds = %FontName.exit, %bb8163 %24 = call i32 @"\01_fwrite"(ptr @.str1842948, i32 1, i32 10, ptr undef) nounwind ; <i32> [#uses=0]164 %25 = sub i32 %rowmark, undef ; <i32> [#uses=1]165 %26 = load ptr, ptr @out_fp, align 4 ; <ptr> [#uses=1]166 %27 = call i32 (ptr, ptr, ...) @fprintf(ptr %26, ptr @.str212784, i32 undef, i32 %25) nounwind ; <i32> [#uses=0]167 store i32 0, ptr @cpexists, align 4168 %28 = call i32 (ptr, ptr, ...) @fprintf(ptr undef, ptr @.str192782, double 2.000000e+01, double 2.000000e+01) nounwind ; <i32> [#uses=0]169 %29 = getelementptr %struct.rec, ptr %y.0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0 ; <ptr> [#uses=1]170 %30 = load i32, ptr %29, align 4 ; <i32> [#uses=1]171 %31 = sub i32 0, %30 ; <i32> [#uses=1]172 %32 = load i32, ptr undef, align 4 ; <i32> [#uses=1]173 %33 = sub i32 0, %32 ; <i32> [#uses=1]174 %34 = load ptr, ptr @out_fp, align 4 ; <ptr> [#uses=1]175 %35 = call i32 (ptr, ptr, ...) @fprintf(ptr %34, ptr @.str212784, i32 %31, i32 %33) nounwind ; <i32> [#uses=0]176 store i32 0, ptr @cpexists, align 4177 %36 = load ptr, ptr null, align 4 ; <ptr> [#uses=1]178 %37 = getelementptr %struct.rec, ptr %36, i32 0, i32 0, i32 4 ; <ptr> [#uses=1]179 %38 = call i32 (ptr, ptr, ...) @fprintf(ptr undef, ptr @.str1852949, ptr %37) nounwind ; <i32> [#uses=0]180 %buff14 = getelementptr [512 x i8], ptr %buff, i32 0, i32 0 ; <ptr> [#uses=5]181 %39 = call ptr @fgets(ptr %buff14, i32 512, ptr %11) nounwind ; <ptr> [#uses=0]182 %iftmp.506.0 = select i1 undef, i32 2, i32 0 ; <i32> [#uses=1]183 %40 = getelementptr [512 x i8], ptr %buff, i32 0, i32 26 ; <ptr> [#uses=1]184 br label %bb100.outer.outer185 186bb100.outer.outer: ; preds = %bb83, %bb10187 %state.0.ph.ph = phi i32 [ %iftmp.506.0, %bb10 ], [ undef, %bb83 ] ; <i32> [#uses=1]188 %x_addr.0.ph.ph = phi ptr [ %x, %bb10 ], [ %70, %bb83 ] ; <ptr> [#uses=1]189 %41 = getelementptr %struct.rec, ptr %x_addr.0.ph.ph, i32 0, i32 0, i32 1, i32 0 ; <ptr> [#uses=0]190 br label %bb100.outer191 192bb.i80: ; preds = %bb3.i85193 %42 = icmp eq i8 %43, %45 ; <i1> [#uses=1]194 %indvar.next.i79 = add i32 %indvar.i81, 1 ; <i32> [#uses=1]195 br i1 %42, label %bb2.i84, label %bb2.i51196 197bb2.i84: ; preds = %bb100.outer, %bb.i80198 %indvar.i81 = phi i32 [ %indvar.next.i79, %bb.i80 ], [ 0, %bb100.outer ] ; <i32> [#uses=3]199 %pp.0.i82 = getelementptr [27 x i8], ptr @.str141878, i32 0, i32 %indvar.i81 ; <ptr> [#uses=2]200 %sp.0.i83 = getelementptr [512 x i8], ptr %buff, i32 0, i32 %indvar.i81 ; <ptr> [#uses=1]201 %43 = load i8, ptr %sp.0.i83, align 1 ; <i8> [#uses=2]202 %44 = icmp eq i8 %43, 0 ; <i1> [#uses=1]203 br i1 %44, label %StringBeginsWith.exit88thread-split, label %bb3.i85204 205bb3.i85: ; preds = %bb2.i84206 %45 = load i8, ptr %pp.0.i82, align 1 ; <i8> [#uses=3]207 %46 = icmp eq i8 %45, 0 ; <i1> [#uses=1]208 br i1 %46, label %StringBeginsWith.exit88, label %bb.i80209 210StringBeginsWith.exit88thread-split: ; preds = %bb2.i84211 %.pr = load i8, ptr %pp.0.i82 ; <i8> [#uses=1]212 br label %StringBeginsWith.exit88213 214StringBeginsWith.exit88: ; preds = %StringBeginsWith.exit88thread-split, %bb3.i85215 %47 = phi i8 [ %.pr, %StringBeginsWith.exit88thread-split ], [ %45, %bb3.i85 ] ; <i8> [#uses=1]216 %phitmp91 = icmp eq i8 %47, 0 ; <i1> [#uses=1]217 br i1 %phitmp91, label %bb3.i77, label %bb2.i51218 219bb2.i.i68: ; preds = %bb3.i77220 br i1 false, label %bb2.i51, label %bb2.i75221 222bb2.i75: ; preds = %bb2.i.i68223 br label %bb3.i77224 225bb3.i77: ; preds = %bb2.i75, %StringBeginsWith.exit88226 %sp.0.i76 = getelementptr [512 x i8], ptr %buff, i32 0, i32 undef ; <ptr> [#uses=1]227 %48 = load i8, ptr %sp.0.i76, align 1 ; <i8> [#uses=1]228 %49 = icmp eq i8 %48, 0 ; <i1> [#uses=1]229 br i1 %49, label %bb24, label %bb2.i.i68230 231bb24: ; preds = %bb3.i77232 %50 = call ptr @MakeWord(i32 11, ptr %40, ptr @no_file_pos) nounwind ; <ptr> [#uses=0]233 %51 = load i8, ptr @zz_lengths, align 4 ; <i8> [#uses=1]234 %52 = zext i8 %51 to i32 ; <i32> [#uses=2]235 %53 = getelementptr [524 x ptr], ptr @zz_free, i32 0, i32 %52 ; <ptr> [#uses=2]236 %54 = load ptr, ptr %53, align 4 ; <ptr> [#uses=3]237 %55 = icmp eq ptr %54, null ; <i1> [#uses=1]238 br i1 %55, label %bb27, label %bb28239 240bb27: ; preds = %bb24241 br i1 undef, label %bb.i56, label %GetMemory.exit62242 243bb.i56: ; preds = %bb27244 br i1 undef, label %bb1.i58, label %bb2.i60245 246bb1.i58: ; preds = %bb.i56247 call void (i32, i32, ptr, i32, ptr, ...) @Error(i32 31, i32 1, ptr @.str1575, i32 1, ptr @no_file_pos) nounwind248 br label %bb2.i60249 250bb2.i60: ; preds = %bb1.i58, %bb.i56251 %.pre1.i59 = phi ptr [ undef, %bb1.i58 ], [ undef, %bb.i56 ] ; <ptr> [#uses=1]252 store ptr undef, ptr @top_free.4773, align 4253 br label %GetMemory.exit62254 255GetMemory.exit62: ; preds = %bb2.i60, %bb27256 %56 = phi ptr [ %.pre1.i59, %bb2.i60 ], [ undef, %bb27 ] ; <ptr> [#uses=1]257 %57 = getelementptr ptr, ptr %56, i32 %52 ; <ptr> [#uses=1]258 store ptr %57, ptr @next_free.4772, align 4259 store ptr undef, ptr @zz_hold, align 4260 br label %bb29261 262bb28: ; preds = %bb24263 store ptr %54, ptr @zz_hold, align 4264 %58 = load ptr, ptr null, align 4 ; <ptr> [#uses=1]265 store ptr %58, ptr %53, align 4266 br label %bb29267 268bb29: ; preds = %bb28, %GetMemory.exit62269 %.pre184 = phi ptr [ %54, %bb28 ], [ undef, %GetMemory.exit62 ] ; <ptr> [#uses=3]270 store i8 0, ptr undef271 store ptr %.pre184, ptr @xx_link, align 4272 br i1 undef, label %bb35, label %bb31273 274bb31: ; preds = %bb29275 store ptr %.pre184, ptr undef276 br label %bb35277 278bb35: ; preds = %bb31, %bb29279 br i1 undef, label %bb41, label %bb37280 281bb37: ; preds = %bb35282 %59 = load ptr, ptr null, align 4 ; <ptr> [#uses=1]283 store ptr %59, ptr undef284 store ptr undef, ptr null285 store ptr %.pre184, ptr null, align 4286 br label %bb41287 288bb41: ; preds = %bb37, %bb35289 %60 = call ptr @fgets(ptr %buff14, i32 512, ptr %11) nounwind ; <ptr> [#uses=1]290 %61 = icmp eq ptr %60, null ; <i1> [#uses=1]291 %iftmp.554.0 = select i1 %61, i32 2, i32 1 ; <i32> [#uses=1]292 br label %bb100.outer293 294bb.i47: ; preds = %bb3.i52295 %62 = icmp eq i8 %63, %64 ; <i1> [#uses=1]296 br i1 %62, label %bb2.i51, label %bb2.i41297 298bb2.i51: ; preds = %bb.i47, %bb2.i.i68, %StringBeginsWith.exit88, %bb.i80299 %pp.0.i49 = getelementptr [17 x i8], ptr @.str1872951, i32 0, i32 0 ; <ptr> [#uses=1]300 %63 = load i8, ptr null, align 1 ; <i8> [#uses=1]301 br i1 false, label %StringBeginsWith.exit55thread-split, label %bb3.i52302 303bb3.i52: ; preds = %bb2.i51304 %64 = load i8, ptr %pp.0.i49, align 1 ; <i8> [#uses=1]305 br i1 false, label %StringBeginsWith.exit55, label %bb.i47306 307StringBeginsWith.exit55thread-split: ; preds = %bb2.i51308 br label %StringBeginsWith.exit55309 310StringBeginsWith.exit55: ; preds = %StringBeginsWith.exit55thread-split, %bb3.i52311 br i1 false, label %bb49, label %bb2.i41312 313bb49: ; preds = %StringBeginsWith.exit55314 br label %bb2.i41315 316bb2.i41: ; preds = %bb2.i41, %bb49, %StringBeginsWith.exit55, %bb.i47317 br i1 false, label %bb2.i41, label %bb2.i.i15318 319bb2.i.i15: ; preds = %bb2.i41320 %pp.0.i.i13 = getelementptr [6 x i8], ptr @.str742838, i32 0, i32 0 ; <ptr> [#uses=1]321 br i1 false, label %StringBeginsWith.exitthread-split.i18, label %bb3.i.i16322 323bb3.i.i16: ; preds = %bb2.i.i15324 %65 = load i8, ptr %pp.0.i.i13, align 1 ; <i8> [#uses=1]325 br label %StringBeginsWith.exit.i20326 327StringBeginsWith.exitthread-split.i18: ; preds = %bb2.i.i15328 br label %StringBeginsWith.exit.i20329 330StringBeginsWith.exit.i20: ; preds = %StringBeginsWith.exitthread-split.i18, %bb3.i.i16331 %66 = phi i8 [ undef, %StringBeginsWith.exitthread-split.i18 ], [ %65, %bb3.i.i16 ] ; <i8> [#uses=1]332 %phitmp.i19 = icmp eq i8 %66, 0 ; <i1> [#uses=1]333 br i1 %phitmp.i19, label %bb58, label %bb2.i6.i26334 335bb2.i6.i26: ; preds = %bb2.i6.i26, %StringBeginsWith.exit.i20336 %indvar.i3.i23 = phi i32 [ %indvar.next.i1.i21, %bb2.i6.i26 ], [ 0, %StringBeginsWith.exit.i20 ] ; <i32> [#uses=3]337 %sp.0.i5.i25 = getelementptr [512 x i8], ptr %buff, i32 0, i32 %indvar.i3.i23 ; <ptr> [#uses=0]338 %pp.0.i4.i24 = getelementptr [10 x i8], ptr @.str752839, i32 0, i32 %indvar.i3.i23 ; <ptr> [#uses=1]339 %67 = load i8, ptr %pp.0.i4.i24, align 1 ; <i8> [#uses=0]340 %indvar.next.i1.i21 = add i32 %indvar.i3.i23, 1 ; <i32> [#uses=1]341 br i1 undef, label %bb2.i6.i26, label %bb55342 343bb55: ; preds = %bb2.i6.i26344 %68 = call i32 @"\01_fputs"(ptr %buff14, ptr undef) nounwind ; <i32> [#uses=0]345 unreachable346 347bb58: ; preds = %StringBeginsWith.exit.i20348 %69 = call ptr @fgets(ptr %buff14, i32 512, ptr %11) nounwind ; <ptr> [#uses=0]349 %iftmp.560.0 = select i1 undef, i32 2, i32 0 ; <i32> [#uses=1]350 br label %bb100.outer351 352bb.i7: ; preds = %bb3.i353 br i1 false, label %bb2.i8, label %bb2.i.i354 355bb2.i8: ; preds = %bb100.outer, %bb.i7356 br i1 undef, label %StringBeginsWith.exitthread-split, label %bb3.i357 358bb3.i: ; preds = %bb2.i8359 br i1 undef, label %StringBeginsWith.exit, label %bb.i7360 361StringBeginsWith.exitthread-split: ; preds = %bb2.i8362 br label %StringBeginsWith.exit363 364StringBeginsWith.exit: ; preds = %StringBeginsWith.exitthread-split, %bb3.i365 %phitmp93 = icmp eq i8 undef, 0 ; <i1> [#uses=1]366 br i1 %phitmp93, label %bb66, label %bb2.i.i367 368bb66: ; preds = %StringBeginsWith.exit369 %70 = call ptr @MakeWord(i32 11, ptr undef, ptr @no_file_pos) nounwind ; <ptr> [#uses=4]370 %71 = load i8, ptr @zz_lengths, align 4 ; <i8> [#uses=1]371 %72 = zext i8 %71 to i32 ; <i32> [#uses=2]372 %73 = getelementptr [524 x ptr], ptr @zz_free, i32 0, i32 %72 ; <ptr> [#uses=2]373 %74 = load ptr, ptr %73, align 4 ; <ptr> [#uses=3]374 %75 = icmp eq ptr %74, null ; <i1> [#uses=1]375 br i1 %75, label %bb69, label %bb70376 377bb69: ; preds = %bb66378 br i1 undef, label %bb.i2, label %GetMemory.exit379 380bb.i2: ; preds = %bb69381 %76 = call noalias ptr @calloc(i32 1020, i32 4) nounwind ; <ptr> [#uses=1]382 store ptr %76, ptr @next_free.4772, align 4383 br i1 undef, label %bb1.i3, label %bb2.i4384 385bb1.i3: ; preds = %bb.i2386 call void (i32, i32, ptr, i32, ptr, ...) @Error(i32 31, i32 1, ptr @.str1575, i32 1, ptr @no_file_pos) nounwind387 br label %bb2.i4388 389bb2.i4: ; preds = %bb1.i3, %bb.i2390 %.pre1.i = phi ptr [ undef, %bb1.i3 ], [ %76, %bb.i2 ] ; <ptr> [#uses=1]391 %77 = phi ptr [ undef, %bb1.i3 ], [ %76, %bb.i2 ] ; <ptr> [#uses=1]392 %78 = getelementptr ptr, ptr %77, i32 1020 ; <ptr> [#uses=1]393 store ptr %78, ptr @top_free.4773, align 4394 br label %GetMemory.exit395 396GetMemory.exit: ; preds = %bb2.i4, %bb69397 %79 = phi ptr [ %.pre1.i, %bb2.i4 ], [ undef, %bb69 ] ; <ptr> [#uses=2]398 %80 = getelementptr ptr, ptr %79, i32 %72 ; <ptr> [#uses=1]399 store ptr %80, ptr @next_free.4772, align 4400 store ptr %79, ptr @zz_hold, align 4401 br label %bb71402 403bb70: ; preds = %bb66404 %81 = load ptr, ptr null, align 4 ; <ptr> [#uses=1]405 store ptr %81, ptr %73, align 4406 br label %bb71407 408bb71: ; preds = %bb70, %GetMemory.exit409 %.pre185 = phi ptr [ %74, %bb70 ], [ %79, %GetMemory.exit ] ; <ptr> [#uses=8]410 %82 = phi ptr [ %74, %bb70 ], [ %79, %GetMemory.exit ] ; <ptr> [#uses=1]411 %83 = getelementptr %struct.rec, ptr %82, i32 0, i32 0, i32 1, i32 0, i32 0 ; <ptr> [#uses=0]412 %84 = getelementptr %struct.rec, ptr %.pre185, i32 0, i32 0, i32 0, i32 1, i32 1 ; <ptr> [#uses=0]413 %85 = getelementptr %struct.rec, ptr %.pre185, i32 0, i32 0, i32 0, i32 1, i32 0 ; <ptr> [#uses=1]414 store ptr %.pre185, ptr @xx_link, align 4415 store ptr %.pre185, ptr @zz_res, align 4416 %86 = load ptr, ptr @needs, align 4 ; <ptr> [#uses=2]417 store ptr %86, ptr @zz_hold, align 4418 br i1 false, label %bb77, label %bb73419 420bb73: ; preds = %bb71421 %87 = getelementptr %struct.rec, ptr %86, i32 0, i32 0, i32 0, i32 0, i32 0 ; <ptr> [#uses=1]422 store ptr null, ptr @zz_tmp, align 4423 store ptr %.pre185, ptr %87424 store ptr %.pre185, ptr undef, align 4425 br label %bb77426 427bb77: ; preds = %bb73, %bb71428 store ptr %.pre185, ptr @zz_res, align 4429 store ptr %70, ptr @zz_hold, align 4430 br i1 undef, label %bb83, label %bb79431 432bb79: ; preds = %bb77433 %88 = getelementptr %struct.rec, ptr %70, i32 0, i32 0, i32 0, i32 1, i32 0 ; <ptr> [#uses=1]434 store ptr null, ptr @zz_tmp, align 4435 %89 = load ptr, ptr %85, align 4 ; <ptr> [#uses=1]436 store ptr %89, ptr %88437 %90 = getelementptr %struct.rec, ptr undef, i32 0, i32 0, i32 0, i32 1, i32 1 ; <ptr> [#uses=1]438 store ptr %70, ptr %90, align 4439 store ptr %.pre185, ptr undef, align 4440 br label %bb83441 442bb83: ; preds = %bb79, %bb77443 br label %bb100.outer.outer444 445bb.i.i: ; preds = %bb3.i.i446 br i1 undef, label %bb2.i.i, label %bb2.i6.i447 448bb2.i.i: ; preds = %bb.i.i, %StringBeginsWith.exit, %bb.i7449 br i1 undef, label %StringBeginsWith.exitthread-split.i, label %bb3.i.i450 451bb3.i.i: ; preds = %bb2.i.i452 br i1 undef, label %StringBeginsWith.exit.i, label %bb.i.i453 454StringBeginsWith.exitthread-split.i: ; preds = %bb2.i.i455 br label %StringBeginsWith.exit.i456 457StringBeginsWith.exit.i: ; preds = %StringBeginsWith.exitthread-split.i, %bb3.i.i458 br i1 false, label %bb94, label %bb2.i6.i459 460bb.i2.i: ; preds = %bb3.i7.i461 br i1 false, label %bb2.i6.i, label %bb91462 463bb2.i6.i: ; preds = %bb.i2.i, %StringBeginsWith.exit.i, %bb.i.i464 br i1 undef, label %strip_out.exitthread-split, label %bb3.i7.i465 466bb3.i7.i: ; preds = %bb2.i6.i467 %91 = load i8, ptr undef, align 1 ; <i8> [#uses=1]468 br i1 undef, label %strip_out.exit, label %bb.i2.i469 470strip_out.exitthread-split: ; preds = %bb2.i6.i471 %.pr100 = load i8, ptr undef ; <i8> [#uses=1]472 br label %strip_out.exit473 474strip_out.exit: ; preds = %strip_out.exitthread-split, %bb3.i7.i475 %92 = phi i8 [ %.pr100, %strip_out.exitthread-split ], [ %91, %bb3.i7.i ] ; <i8> [#uses=0]476 br i1 undef, label %bb94, label %bb91477 478bb91: ; preds = %strip_out.exit, %bb.i2.i479 unreachable480 481bb94: ; preds = %strip_out.exit, %StringBeginsWith.exit.i482 %93 = call ptr @fgets(ptr %buff14, i32 512, ptr %11) nounwind ; <ptr> [#uses=0]483 unreachable484 485bb100.outer: ; preds = %bb58, %bb41, %bb100.outer.outer486 %state.0.ph = phi i32 [ %state.0.ph.ph, %bb100.outer.outer ], [ %iftmp.560.0, %bb58 ], [ %iftmp.554.0, %bb41 ] ; <i32> [#uses=1]487 switch i32 %state.0.ph, label %bb2.i84 [488 i32 2, label %bb101.split489 i32 1, label %bb2.i8490 ]491 492bb101.split: ; preds = %bb100.outer493 %94 = icmp eq i32 undef, 0 ; <i1> [#uses=1]494 br i1 %94, label %bb103, label %bb102495 496bb102: ; preds = %bb101.split497 %95 = call i32 @remove(ptr @.str19294) nounwind ; <i32> [#uses=0]498 unreachable499 500bb103: ; preds = %bb101.split501 %96 = load ptr, ptr @out_fp, align 4 ; <ptr> [#uses=1]502 %97 = call i32 (ptr, ptr, ...) @fprintf(ptr %96, ptr @.str1932957) nounwind ; <i32> [#uses=0]503 store i32 0, ptr @wordcount, align 4504 ret void505}506