diff options
Diffstat (limited to 'test/torture-s/pr24716.c.s')
-rw-r--r-- | test/torture-s/pr24716.c.s | 111 |
1 files changed, 66 insertions, 45 deletions
diff --git a/test/torture-s/pr24716.c.s b/test/torture-s/pr24716.c.s index 3aa33f692..8eaf888b0 100644 --- a/test/torture-s/pr24716.c.s +++ b/test/torture-s/pr24716.c.s @@ -18,43 +18,47 @@ f: # @f # Child Loop BB0_9 Depth 3 # Child Loop BB0_13 Depth 2 # Child Loop BB0_14 Depth 3 - loop .LBB0_18 + loop # label0: copy_local $7=, $0 - block .LBB0_4 - block .LBB0_3 + block + block i32.const $push0=, 3 i32.lt_s $push1=, $5, $pop0 - br_if $pop1, .LBB0_3 + br_if $pop1, 0 # 0: down to label3 # BB#2: # %if.end.thread # in Loop: Header=BB0_1 Depth=1 i32.const $push4=, 1 i32.add $5=, $5, $pop4 i32.const $push5=, -1 i32.add $4=, $3, $pop5 - br .LBB0_4 + br 1 # 1: down to label2 .LBB0_3: # %if.end # in Loop: Header=BB0_1 Depth=1 + end_block # label3: i32.const $4=, 0 i32.const $push2=, 1 i32.eq $push3=, $3, $pop2 - br_if $pop3, .LBB0_18 + br_if $pop3, 2 # 2: down to label1 .LBB0_4: # %while.cond.preheader # in Loop: Header=BB0_1 Depth=1 - block .LBB0_7 + end_block # label2: + block i32.le_s $push6=, $5, $1 - br_if $pop6, .LBB0_7 + br_if $pop6, 0 # 0: down to label4 # BB#5: # %while.body.lr.ph # in Loop: Header=BB0_1 Depth=1 i32.eq $6=, $4, $1 .LBB0_6: # %while.body # Parent Loop BB0_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop .LBB0_7 + loop # label5: i32.add $5=, $5, $6 i32.gt_s $push7=, $5, $1 - br_if $pop7, .LBB0_6 + br_if $pop7, 0 # 0: up to label5 .LBB0_7: # %do.body10.preheader # in Loop: Header=BB0_1 Depth=1 + end_loop # label6: + end_block # label4: i32.const $2=, 2 i32.const $push9=, W i32.shl $push8=, $7, $2 @@ -63,17 +67,17 @@ f: # @f # Parent Loop BB0_1 Depth=1 # => This Loop Header: Depth=2 # Child Loop BB0_9 Depth 3 - loop .LBB0_13 + loop # label7: i32.load $6=, 0($0) .LBB0_9: # %do.body11 # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_8 Depth=2 # => This Inner Loop Header: Depth=3 - loop .LBB0_12 - block .LBB0_11 + loop # label9: + block i32.const $push20=, 0 i32.eq $push21=, $6, $pop20 - br_if $pop21, .LBB0_11 + br_if $pop21, 0 # 0: down to label11 # BB#10: # %if.then13 # in Loop: Header=BB0_9 Depth=3 i32.const $push10=, 0 @@ -81,20 +85,23 @@ f: # @f i32.const $5=, 1 .LBB0_11: # %do.cond16 # in Loop: Header=BB0_9 Depth=3 + end_block # label11: i32.const $3=, 1 i32.const $6=, 0 i32.lt_s $push11=, $1, $3 - br_if $pop11, .LBB0_9 -.LBB0_12: # %do.cond19 + br_if $pop11, 0 # 0: up to label9 +# BB#12: # %do.cond19 # in Loop: Header=BB0_8 Depth=2 + end_loop # label10: i32.const $6=, 0 i32.gt_s $push12=, $7, $6 - br_if $pop12, .LBB0_8 + br_if $pop12, 0 # 0: up to label7 .LBB0_13: # %do.body22 # Parent Loop BB0_1 Depth=1 # => This Loop Header: Depth=2 # Child Loop BB0_14 Depth 3 - loop .LBB0_18 + end_loop # label8: + loop # label12: i32.const $push14=, Link i32.shl $push13=, $7, $2 i32.add $push15=, $pop14, $pop13 @@ -104,28 +111,32 @@ f: # @f # Parent Loop BB0_1 Depth=1 # Parent Loop BB0_13 Depth=2 # => This Inner Loop Header: Depth=3 - loop .LBB0_17 + loop # label14: i32.ge_s $push16=, $1, $4 - br_if $pop16, .LBB0_17 + br_if $pop16, 1 # 1: down to label15 # BB#15: # %while.body26 # in Loop: Header=BB0_14 Depth=3 i32.const $push18=, -1 i32.eq $push19=, $7, $pop18 - br_if $pop19, .LBB0_14 + br_if $pop19, 0 # 0: up to label14 # BB#16: # %if.then28 # in Loop: Header=BB0_14 Depth=3 i32.const $0=, 1 i32.add $5=, $5, $0 i32.add $1=, $1, $0 - br .LBB0_14 + br 0 # 0: up to label14 .LBB0_17: # %do.cond33 # in Loop: Header=BB0_13 Depth=2 + end_loop # label15: i32.const $0=, -1 i32.ne $push17=, $7, $0 - br_if $pop17, .LBB0_13 - br .LBB0_1 + br_if $pop17, 0 # 0: up to label12 + br 2 # 2: up to label0 .LBB0_18: # %for.end + end_loop # label13: + end_loop # label1: return $5 + .endfunc .Lfunc_end0: .size f, .Lfunc_end0-f @@ -146,42 +157,46 @@ main: # @main # Child Loop BB1_6 Depth 2 # Child Loop BB1_8 Depth 2 # Child Loop BB1_12 Depth 2 - loop .LBB1_13 - block .LBB1_4 - block .LBB1_3 + loop # label16: + block + block i32.const $push0=, 3 i32.lt_s $push1=, $4, $pop0 - br_if $pop1, .LBB1_3 + br_if $pop1, 0 # 0: down to label19 # BB#2: # %if.end.thread.i # in Loop: Header=BB1_1 Depth=1 i32.const $push5=, 1 i32.add $4=, $4, $pop5 i32.const $push6=, -1 i32.add $5=, $3, $pop6 - br .LBB1_4 + br 1 # 1: down to label18 .LBB1_3: # %if.end.i # in Loop: Header=BB1_1 Depth=1 + end_block # label19: i32.const $5=, 0 i32.const $push2=, 1 i32.eq $push3=, $3, $pop2 - br_if $pop3, .LBB1_13 + br_if $pop3, 2 # 2: down to label17 .LBB1_4: # %while.cond.preheader.i # in Loop: Header=BB1_1 Depth=1 - block .LBB1_7 + end_block # label18: + block i32.le_s $push7=, $4, $2 - br_if $pop7, .LBB1_7 + br_if $pop7, 0 # 0: down to label20 # BB#5: # %while.body.lr.ph.i # in Loop: Header=BB1_1 Depth=1 i32.eq $5=, $5, $2 .LBB1_6: # %while.body.i # Parent Loop BB1_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop .LBB1_7 + loop # label21: i32.add $4=, $4, $5 i32.gt_s $push8=, $4, $2 - br_if $pop8, .LBB1_6 + br_if $pop8, 0 # 0: up to label21 .LBB1_7: # %do.body10.i # in Loop: Header=BB1_1 Depth=1 + end_loop # label22: + end_block # label20: i32.const $0=, 2 i32.const $push10=, W i32.shl $push9=, $1, $0 @@ -190,11 +205,11 @@ main: # @main .LBB1_8: # %do.body11.i # Parent Loop BB1_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop .LBB1_11 - block .LBB1_10 + loop # label23: + block i32.const $push16=, 0 i32.eq $push17=, $5, $pop16 - br_if $pop17, .LBB1_10 + br_if $pop17, 0 # 0: down to label25 # BB#9: # %if.then13.i # in Loop: Header=BB1_8 Depth=2 i32.const $push11=, 0 @@ -202,17 +217,19 @@ main: # @main i32.const $4=, 1 .LBB1_10: # %do.cond16.i # in Loop: Header=BB1_8 Depth=2 + end_block # label25: i32.const $5=, 0 i32.const $push18=, 0 i32.eq $push19=, $2, $pop18 - br_if $pop19, .LBB1_8 -.LBB1_11: # %do.cond33.i.preheader + br_if $pop19, 0 # 0: up to label23 +# BB#11: # %do.cond33.i.preheader # in Loop: Header=BB1_1 Depth=1 + end_loop # label24: copy_local $5=, $1 .LBB1_12: # %do.cond33.i # Parent Loop BB1_1 Depth=1 # => This Inner Loop Header: Depth=2 - loop .LBB1_13 + loop # label26: i32.const $push13=, Link i32.shl $push12=, $5, $0 i32.add $push14=, $pop13, $pop12 @@ -221,19 +238,23 @@ main: # @main i32.const $3=, 1 i32.const $2=, 0 i32.ne $push15=, $5, $1 - br_if $pop15, .LBB1_12 - br .LBB1_1 + br_if $pop15, 0 # 0: up to label26 + br 2 # 2: up to label16 .LBB1_13: # %f.exit - block .LBB1_15 + end_loop # label27: + end_loop # label17: + block i32.const $push20=, 0 i32.eq $push21=, $4, $pop20 - br_if $pop21, .LBB1_15 + br_if $pop21, 0 # 0: down to label28 # BB#14: # %if.end i32.const $push4=, 0 return $pop4 .LBB1_15: # %if.then + end_block # label28: call abort@FUNCTION unreachable + .endfunc .Lfunc_end1: .size main, .Lfunc_end1-main @@ -256,5 +277,5 @@ W: .size W, 4 - .ident "clang version 3.8.0 " + .ident "clang version 3.9.0 " .section ".note.GNU-stack","",@progbits |