brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.3 KiB · 53f4f33 Raw
267 lines · plain
1; RUN: llc < %s -mtriple=thumbv7-apple-darwin2 3@.str41196 = external constant [2 x i8], align 4  ; <ptr> [#uses=1]4 5declare void @syStopraw(i32) nounwind6 7declare i32 @SyFopen(ptr, ptr) nounwind8 9declare ptr @SyFgets(ptr, i32) nounwind10 11define void @SyHelp(ptr nocapture %topic, i32 %fin) nounwind {12entry:13  %line = alloca [256 x i8], align 4              ; <ptr> [#uses=1]14  %secname = alloca [1024 x i8], align 4          ; <ptr> [#uses=0]15  %last = alloca [256 x i8], align 4              ; <ptr> [#uses=1]16  %last2 = alloca [256 x i8], align 4             ; <ptr> [#uses=1]17  br i1 undef, label %bb, label %bb218 19bb:                                               ; preds = %entry20  br i1 undef, label %bb2, label %bb321 22bb2:                                              ; preds = %bb, %entry23  br label %bb324 25bb3:                                              ; preds = %bb2, %bb26  %storemerge = phi i32 [ 0, %bb2 ], [ 1, %bb ]   ; <i32> [#uses=1]27  br i1 undef, label %bb19, label %bb2028 29bb19:                                             ; preds = %bb330  br label %bb2031 32bb20:                                             ; preds = %bb19, %bb333  br i1 undef, label %bb25, label %bb2634 35bb25:                                             ; preds = %bb2036  br label %bb2637 38bb26:                                             ; preds = %bb25, %bb2039  %offset.2 = phi i32 [ -2, %bb25 ], [ 0, %bb20 ] ; <i32> [#uses=1]40  br i1 undef, label %bb.nph508, label %bb4941 42bb.nph508:                                        ; preds = %bb2643  unreachable44 45bb49:                                             ; preds = %bb2646  br i1 undef, label %bb51, label %bb5047 48bb50:                                             ; preds = %bb4949  br i1 undef, label %bb51, label %bb10450 51bb51:                                             ; preds = %bb50, %bb4952  unreachable53 54bb104:                                            ; preds = %bb5055  br i1 undef, label %bb106, label %bb10556 57bb105:                                            ; preds = %bb10458  br i1 undef, label %bb106, label %bb16159 60bb106:                                            ; preds = %bb105, %bb10461  unreachable62 63bb161:                                            ; preds = %bb10564  br i1 false, label %bb163, label %bb16265 66bb162:                                            ; preds = %bb16167  br i1 undef, label %bb163, label %bb22468 69bb163:                                            ; preds = %bb162, %bb16170  unreachable71 72bb224:                                            ; preds = %bb16273  %0 = call  i32 @SyFopen(ptr undef, ptr @.str41196) nounwind ; <i32> [#uses=2]74  br i1 false, label %bb297, label %bb30075 76bb297:                                            ; preds = %bb22477  unreachable78 79bb300:                                            ; preds = %bb22480  %1 = icmp eq i32 %offset.2, -1                  ; <i1> [#uses=1]81  br label %bb44082 83bb307:                                            ; preds = %isdigit1498.exit6784  br label %bb30885 86bb308:                                            ; preds = %bb440, %bb30787  br i1 undef, label %bb309, label %isdigit1498.exit6788 89isdigit1498.exit67:                               ; preds = %bb30890  br i1 undef, label %bb309, label %bb30791 92bb309:                                            ; preds = %isdigit1498.exit67, %bb30893  br i1 undef, label %bb310, label %bb31394 95bb310:                                            ; preds = %bb30996  br label %bb31397 98bb313:                                            ; preds = %bb310, %bb30999  br i1 false, label %bb318, label %bb317100 101bb317:                                            ; preds = %bb313102  %2 = icmp sgt i8 undef, -1                      ; <i1> [#uses=1]103  br i1 %2, label %bb.i.i73, label %bb1.i.i74104 105bb.i.i73:                                         ; preds = %bb317106  br i1 false, label %bb318, label %bb329.outer107 108bb1.i.i74:                                        ; preds = %bb317109  unreachable110 111bb318:                                            ; preds = %bb.i.i73, %bb313112  ret void113 114bb329.outer:                                      ; preds = %bb.i.i73115  br i1 undef, label %bb333, label %bb329.us.us116 117bb329.us.us:                                      ; preds = %bb329.us.us, %bb329.outer118  br i1 undef, label %bb333, label %bb329.us.us119 120bb333:                                            ; preds = %bb329.us.us, %bb329.outer121  %match.0.lcssa = phi i32 [ undef, %bb329.us.us ], [ 2, %bb329.outer ] ; <i32> [#uses=2]122  br i1 undef, label %bb335, label %bb388123 124bb335:                                            ; preds = %bb333125  %3 = and i1 undef, %1                           ; <i1> [#uses=1]126  br i1 %3, label %bb339, label %bb348127 128bb339:                                            ; preds = %bb335129  br i1 false, label %bb340, label %bb345130 131bb340:                                            ; preds = %bb339132  br i1 undef, label %return, label %bb341133 134bb341:                                            ; preds = %bb340135  ret void136 137bb345:                                            ; preds = %bb345, %bb339138  %4 = phi i8 [ %5, %bb345 ], [ undef, %bb339 ]   ; <i8> [#uses=0]139  %indvar670 = phi i32 [ %tmp673, %bb345 ], [ 0, %bb339 ] ; <i32> [#uses=1]140  %tmp673 = add i32 %indvar670, 1                 ; <i32> [#uses=2]141  %scevgep674 = getelementptr [256 x i8], ptr %last, i32 0, i32 %tmp673 ; <ptr> [#uses=1]142  %5 = load i8, ptr %scevgep674, align 1              ; <i8> [#uses=1]143  br i1 undef, label %bb347, label %bb345144 145bb347:                                            ; preds = %bb345146  br label %bb348147 148bb348:                                            ; preds = %bb347, %bb335149  br i1 false, label %bb352, label %bb356150 151bb352:                                            ; preds = %bb348152  unreachable153 154bb356:                                            ; preds = %bb348155  br i1 undef, label %bb360, label %bb369156 157bb360:                                            ; preds = %bb356158  br i1 false, label %bb361, label %bb366159 160bb361:                                            ; preds = %bb360161  br i1 undef, label %return, label %bb362162 163bb362:                                            ; preds = %bb361164  ret void165 166bb366:                                            ; preds = %bb366, %bb360167  %indvar662 = phi i32 [ %tmp665, %bb366 ], [ 0, %bb360 ] ; <i32> [#uses=1]168  %tmp665 = add i32 %indvar662, 1                 ; <i32> [#uses=2]169  %scevgep666 = getelementptr [256 x i8], ptr %last2, i32 0, i32 %tmp665 ; <ptr> [#uses=1]170  %6 = load i8, ptr %scevgep666, align 1              ; <i8> [#uses=0]171  br i1 false, label %bb368, label %bb366172 173bb368:                                            ; preds = %bb366174  br label %bb369175 176bb369:                                            ; preds = %bb368, %bb356177  br i1 undef, label %bb373, label %bb388178 179bb373:                                            ; preds = %bb383, %bb369180  %7 = call  ptr @SyFgets(ptr undef, i32 %0) nounwind ; <ptr> [#uses=1]181  %8 = icmp eq ptr %7, null                       ; <i1> [#uses=1]182  br i1 %8, label %bb375, label %bb383183 184bb375:                                            ; preds = %bb373185  %9 = icmp eq i32 %storemerge, 0                 ; <i1> [#uses=1]186  br i1 %9, label %return, label %bb376187 188bb376:                                            ; preds = %bb375189  ret void190 191bb383:                                            ; preds = %bb373192  %10 = load i8, ptr undef, align 1                   ; <i8> [#uses=1]193  %cond1 = icmp eq i8 %10, 46                     ; <i1> [#uses=1]194  br i1 %cond1, label %bb373, label %bb388195 196bb388:                                            ; preds = %bb383, %bb369, %bb333197  %match.1140 = phi i32 [ %match.0.lcssa, %bb369 ], [ 0, %bb333 ], [ %match.0.lcssa, %bb383 ] ; <i32> [#uses=1]198  br label %bb391199 200bb390:                                            ; preds = %isdigit1498.exit83, %bb392201  %indvar.next725 = add i32 %indvar724, 1         ; <i32> [#uses=1]202  br label %bb391203 204bb391:                                            ; preds = %bb390, %bb388205  %indvar724 = phi i32 [ %indvar.next725, %bb390 ], [ 0, %bb388 ] ; <i32> [#uses=2]206  %11 = load i8, ptr undef, align 1                   ; <i8> [#uses=0]207  br i1 false, label %bb395, label %bb392208 209bb392:                                            ; preds = %bb391210  br i1 undef, label %bb390, label %isdigit1498.exit83211 212isdigit1498.exit83:                               ; preds = %bb392213  br i1 undef, label %bb390, label %bb395214 215bb394:                                            ; preds = %isdigit1498.exit87216  br label %bb395217 218bb395:                                            ; preds = %bb394, %isdigit1498.exit83, %bb391219  %storemerge14.sum = add i32 %indvar724, undef   ; <i32> [#uses=1]220  %p.26 = getelementptr [256 x i8], ptr %line, i32 0, i32 %storemerge14.sum ; <ptr> [#uses=1]221  br i1 undef, label %bb400, label %isdigit1498.exit87222 223isdigit1498.exit87:                               ; preds = %bb395224  br i1 false, label %bb400, label %bb394225 226bb400:                                            ; preds = %isdigit1498.exit87, %bb395227  br i1 undef, label %bb402, label %bb403228 229bb402:                                            ; preds = %bb400230  %12 = getelementptr inbounds i8, ptr %p.26, i32 undef ; <ptr> [#uses=1]231  br label %bb403232 233bb403:                                            ; preds = %bb402, %bb400234  %p.29 = phi ptr [ %12, %bb402 ], [ undef, %bb400 ] ; <ptr> [#uses=0]235  br i1 undef, label %bb405, label %bb404236 237bb404:                                            ; preds = %bb403238  br i1 undef, label %bb405, label %bb407239 240bb405:                                            ; preds = %bb404, %bb403241  br i1 undef, label %return, label %bb406242 243bb406:                                            ; preds = %bb405244  call  void @syStopraw(i32 %fin) nounwind245  ret void246 247bb407:                                            ; preds = %bb404248  %cond = icmp eq i32 %match.1140, 2              ; <i1> [#uses=1]249  br i1 %cond, label %bb408, label %bb428250 251bb408:                                            ; preds = %bb407252  unreachable253 254bb428:                                            ; preds = %bb407255  br label %bb440256 257bb440:                                            ; preds = %bb428, %bb300258  %13 = call  ptr @SyFgets(ptr undef, i32 %0) nounwind ; <ptr> [#uses=0]259  br i1 false, label %bb442, label %bb308260 261bb442:                                            ; preds = %bb440262  unreachable263 264return:                                           ; preds = %bb405, %bb375, %bb361, %bb340265  ret void266}267