diff options
Diffstat (limited to 'test/llvm_autogenerated')
-rw-r--r-- | test/llvm_autogenerated/cfg-stackify.s | 333 | ||||
-rw-r--r-- | test/llvm_autogenerated/cfg-stackify.wast | 282 | ||||
-rw-r--r-- | test/llvm_autogenerated/dead-vreg.s | 20 | ||||
-rw-r--r-- | test/llvm_autogenerated/dead-vreg.wast | 16 | ||||
-rw-r--r-- | test/llvm_autogenerated/func.s | 5 | ||||
-rw-r--r-- | test/llvm_autogenerated/func.wast | 4 | ||||
-rw-r--r-- | test/llvm_autogenerated/phi.s | 11 | ||||
-rw-r--r-- | test/llvm_autogenerated/phi.wast | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/reg-stackify.s | 12 | ||||
-rw-r--r-- | test/llvm_autogenerated/reg-stackify.wast | 10 | ||||
-rw-r--r-- | test/llvm_autogenerated/store-results.s | 12 | ||||
-rw-r--r-- | test/llvm_autogenerated/store-results.wast | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/switch.s | 70 | ||||
-rw-r--r-- | test/llvm_autogenerated/switch.wast | 56 |
14 files changed, 482 insertions, 365 deletions
diff --git a/test/llvm_autogenerated/cfg-stackify.s b/test/llvm_autogenerated/cfg-stackify.s index 121b7d55a..fcb9652d9 100644 --- a/test/llvm_autogenerated/cfg-stackify.s +++ b/test/llvm_autogenerated/cfg-stackify.s @@ -7,14 +7,15 @@ test0: .local i32 i32.const $1=, 0 .LBB0_1: - loop .LBB0_3 + loop i32.const $push0=, 1 i32.add $1=, $1, $pop0 i32.ge_s $push1=, $1, $0 - br_if $pop1, .LBB0_3 + br_if $pop1, 1 call something@FUNCTION - br .LBB0_1 + br 0 .LBB0_3: + end_loop return .Lfunc_end0: .size test0, .Lfunc_end0-test0 @@ -26,14 +27,15 @@ test1: .local i32 i32.const $1=, 0 .LBB1_1: - loop .LBB1_3 + loop i32.const $push0=, 1 i32.add $1=, $1, $pop0 i32.ge_s $push1=, $1, $0 - br_if $pop1, .LBB1_3 + br_if $pop1, 1 call something@FUNCTION - br .LBB1_1 + br 0 .LBB1_3: + end_loop return .Lfunc_end1: .size test1, .Lfunc_end1-test1 @@ -42,12 +44,12 @@ test1: .type test2,@function test2: .param i32, i32 - block .LBB2_2 + block i32.const $push0=, 1 i32.lt_s $push1=, $1, $pop0 - br_if $pop1, .LBB2_2 + br_if $pop1, 0 .LBB2_1: - loop .LBB2_2 + loop i32.const $push5=, -1 i32.add $1=, $1, $pop5 f64.load $push2=, 0($0) @@ -56,8 +58,10 @@ test2: f64.store $discard=, 0($0), $pop4 i32.const $push6=, 8 i32.add $0=, $0, $pop6 - br_if $1, .LBB2_1 + br_if $1, 0 .LBB2_2: + end_loop + end_block return .Lfunc_end2: .size test2, .Lfunc_end2-test2 @@ -68,26 +72,29 @@ doublediamond: .param i32, i32, i32 .result i32 .local i32 - block .LBB3_5 - block .LBB3_2 + block + block i32.const $push0=, 0 i32.store $3=, 0($2), $pop0 - br_if $0, .LBB3_2 + br_if $0, 0 i32.const $push4=, 1 i32.store $discard=, 0($2), $pop4 - br .LBB3_5 + br 1 .LBB3_2: - block .LBB3_4 + end_block + block i32.const $push1=, 2 i32.store $discard=, 0($2), $pop1 - br_if $1, .LBB3_4 + br_if $1, 0 i32.const $push3=, 3 i32.store $discard=, 0($2), $pop3 - br .LBB3_5 + br 1 .LBB3_4: + end_block i32.const $push2=, 4 i32.store $discard=, 0($2), $pop2 .LBB3_5: + end_block i32.const $push5=, 5 i32.store $discard=, 0($2), $pop5 return $3 @@ -100,13 +107,14 @@ triangle: .param i32, i32 .result i32 .local i32 - block .LBB4_2 + block i32.const $push0=, 0 i32.store $2=, 0($0), $pop0 - br_if $1, .LBB4_2 + br_if $1, 0 i32.const $push1=, 1 i32.store $discard=, 0($0), $pop1 .LBB4_2: + end_block i32.const $push2=, 2 i32.store $discard=, 0($0), $pop2 return $2 @@ -119,18 +127,20 @@ diamond: .param i32, i32 .result i32 .local i32 - block .LBB5_3 - block .LBB5_2 + block + block i32.const $push0=, 0 i32.store $2=, 0($0), $pop0 - br_if $1, .LBB5_2 + br_if $1, 0 i32.const $push2=, 1 i32.store $discard=, 0($0), $pop2 - br .LBB5_3 + br 1 .LBB5_2: + end_block i32.const $push1=, 2 i32.store $discard=, 0($0), $pop1 .LBB5_3: + end_block i32.const $push3=, 3 i32.store $discard=, 0($0), $pop3 return $2 @@ -156,11 +166,12 @@ minimal_loop: i32.const $push0=, 0 i32.store $discard=, 0($0), $pop0 .LBB7_1: - loop .LBB7_2 + loop i32.const $push1=, 1 i32.store $discard=, 0($0), $pop1 - br .LBB7_1 + br 0 .LBB7_2: + end_loop .Lfunc_end7: .size minimal_loop, .Lfunc_end7-minimal_loop @@ -173,13 +184,13 @@ simple_loop: i32.const $push0=, 0 i32.store $2=, 0($0), $pop0 .LBB8_1: - loop .LBB8_2 + loop i32.const $push1=, 1 i32.store $discard=, 0($0), $pop1 i32.const $push3=, 0 i32.eq $push4=, $1, $pop3 - br_if $pop4, .LBB8_1 -.LBB8_2: + br_if $pop4, 0 + end_loop i32.const $push2=, 2 i32.store $discard=, 0($0), $pop2 return $2 @@ -192,20 +203,22 @@ doubletriangle: .param i32, i32, i32 .result i32 .local i32 - block .LBB9_4 + block i32.const $push0=, 0 i32.store $3=, 0($2), $pop0 - br_if $0, .LBB9_4 - block .LBB9_3 + br_if $0, 0 + block i32.const $push1=, 2 i32.store $discard=, 0($2), $pop1 - br_if $1, .LBB9_3 + br_if $1, 0 i32.const $push2=, 3 i32.store $discard=, 0($2), $pop2 .LBB9_3: + end_block i32.const $push3=, 4 i32.store $discard=, 0($2), $pop3 .LBB9_4: + end_block i32.const $push4=, 5 i32.store $discard=, 0($2), $pop4 return $3 @@ -218,21 +231,23 @@ ifelse_earlyexits: .param i32, i32, i32 .result i32 .local i32 - block .LBB10_4 - block .LBB10_2 + block + block i32.const $push0=, 0 i32.store $3=, 0($2), $pop0 - br_if $0, .LBB10_2 + br_if $0, 0 i32.const $push3=, 1 i32.store $discard=, 0($2), $pop3 - br .LBB10_4 + br 1 .LBB10_2: + end_block i32.const $push1=, 2 i32.store $discard=, 0($2), $pop1 - br_if $1, .LBB10_4 + br_if $1, 0 i32.const $push2=, 3 i32.store $discard=, 0($2), $pop2 .LBB10_4: + end_block i32.const $push4=, 4 i32.store $discard=, 0($2), $pop4 return $3 @@ -245,31 +260,35 @@ doublediamond_in_a_loop: .param i32, i32, i32 .result i32 .LBB11_1: - loop .LBB11_7 - block .LBB11_6 - block .LBB11_3 + loop + block + block i32.const $push0=, 0 i32.store $discard=, 0($2), $pop0 - br_if $0, .LBB11_3 + br_if $0, 0 i32.const $push4=, 1 i32.store $discard=, 0($2), $pop4 - br .LBB11_6 + br 1 .LBB11_3: - block .LBB11_5 + end_block + block i32.const $push1=, 2 i32.store $discard=, 0($2), $pop1 - br_if $1, .LBB11_5 + br_if $1, 0 i32.const $push3=, 3 i32.store $discard=, 0($2), $pop3 - br .LBB11_6 + br 1 .LBB11_5: + end_block i32.const $push2=, 4 i32.store $discard=, 0($2), $pop2 .LBB11_6: + end_block i32.const $push5=, 5 i32.store $discard=, 0($2), $pop5 - br .LBB11_1 + br 0 .LBB11_7: + end_loop .Lfunc_end11: .size doublediamond_in_a_loop, .Lfunc_end11-doublediamond_in_a_loop @@ -277,22 +296,24 @@ doublediamond_in_a_loop: .type test3,@function test3: .param i32 - block .LBB12_5 + block i32.const $push0=, 0 - br_if $pop0, .LBB12_5 + br_if $pop0, 0 .LBB12_1: - loop .LBB12_4 - br_if $0, .LBB12_4 + loop + br_if $0, 1 .LBB12_2: - loop .LBB12_3 + loop i32.ne $push1=, $0, $0 - br_if $pop1, .LBB12_2 -.LBB12_3: + br_if $pop1, 0 + end_loop call bar@FUNCTION - br .LBB12_1 + br 0 .LBB12_4: + end_loop unreachable .LBB12_5: + end_block return .Lfunc_end12: .size test3, .Lfunc_end12-test3 @@ -301,32 +322,36 @@ test3: .type test4,@function test4: .param i32 - block .LBB13_8 - block .LBB13_7 - block .LBB13_4 + block + block + block i32.const $push0=, 3 i32.gt_s $push1=, $0, $pop0 - br_if $pop1, .LBB13_4 - block .LBB13_3 + br_if $pop1, 0 + block i32.const $push8=, 0 i32.eq $push9=, $0, $pop8 - br_if $pop9, .LBB13_3 + br_if $pop9, 0 i32.const $push6=, 2 i32.ne $push7=, $0, $pop6 - br_if $pop7, .LBB13_7 + br_if $pop7, 2 .LBB13_3: + end_block return .LBB13_4: + end_block i32.const $push2=, 4 i32.eq $push3=, $0, $pop2 - br_if $pop3, .LBB13_8 + br_if $pop3, 1 i32.const $push4=, 622 i32.ne $push5=, $0, $pop4 - br_if $pop5, .LBB13_7 + br_if $pop5, 0 return .LBB13_7: + end_block return .LBB13_8: + end_block return .Lfunc_end13: .size test4, .Lfunc_end13-test4 @@ -337,23 +362,24 @@ test5: .param i32, i32 .local i32, i32 .LBB14_1: - block .LBB14_4 - loop .LBB14_3 + block + loop i32.const $2=, 0 i32.store $3=, 0($2), $2 i32.const $2=, 1 i32.and $push0=, $0, $2 i32.const $push5=, 0 i32.eq $push6=, $pop0, $pop5 - br_if $pop6, .LBB14_4 + br_if $pop6, 2 i32.store $push2=, 0($3), $2 i32.and $push3=, $1, $pop2 - br_if $pop3, .LBB14_1 -.LBB14_3: + br_if $pop3, 0 + end_loop i32.const $push4=, 3 i32.store $discard=, 0($3), $pop4 return .LBB14_4: + end_block i32.const $push1=, 2 i32.store $discard=, 0($3), $pop1 return @@ -366,31 +392,33 @@ test6: .param i32, i32 .local i32, i32, i32 .LBB15_1: - block .LBB15_6 - block .LBB15_5 - loop .LBB15_4 + block + block + loop i32.const $2=, 0 i32.store $discard=, 0($2), $2 i32.const $3=, 1 i32.and $push0=, $0, $3 i32.const $push4=, 0 i32.eq $push5=, $pop0, $pop4 - br_if $pop5, .LBB15_6 + br_if $pop5, 3 i32.store $discard=, 0($2), $3 i32.and $4=, $1, $3 i32.const $push6=, 0 i32.eq $push7=, $4, $pop6 - br_if $pop7, .LBB15_5 + br_if $pop7, 2 i32.store $discard=, 0($2), $3 - br_if $4, .LBB15_1 -.LBB15_4: + br_if $4, 0 + end_loop i32.const $push3=, 2 i32.store $discard=, 0($2), $pop3 return .LBB15_5: + end_block i32.const $push1=, 3 i32.store $discard=, 0($2), $pop1 .LBB15_6: + end_block i32.const $push2=, 4 i32.store $discard=, 0($2), $pop2 return @@ -405,25 +433,26 @@ test7: i32.const $3=, 0 i32.store $2=, 0($3), $3 .LBB16_1: - loop .LBB16_5 - block .LBB16_4 + loop + block i32.const $push0=, 1 i32.store $3=, 0($2), $pop0 i32.and $push1=, $0, $3 - br_if $pop1, .LBB16_4 + br_if $pop1, 0 i32.const $push2=, 2 i32.store $discard=, 0($2), $pop2 i32.and $push3=, $1, $3 - br_if $pop3, .LBB16_1 + br_if $pop3, 1 i32.const $push4=, 4 i32.store $discard=, 0($2), $pop4 unreachable .LBB16_4: + end_block i32.const $push5=, 3 i32.store $discard=, 0($2), $pop5 i32.and $push6=, $1, $3 - br_if $pop6, .LBB16_1 -.LBB16_5: + br_if $pop6, 0 + end_loop i32.const $push7=, 5 i32.store $discard=, 0($2), $pop7 unreachable @@ -437,19 +466,22 @@ test8: .local i32 i32.const $0=, 0 .LBB17_1: - loop .LBB17_4 - block .LBB17_3 + loop + block i32.const $push0=, 0 i32.eq $push1=, $0, $pop0 - br_if $pop1, .LBB17_3 + br_if $pop1, 0 i32.const $push2=, 0 i32.eq $push3=, $0, $pop2 - br_if $pop3, .LBB17_1 + br_if $pop3, 1 .LBB17_3: - loop .LBB17_4 - br_if $0, .LBB17_3 - br .LBB17_1 + end_block + loop + br_if $0, 0 + br 2 .LBB17_4: + end_loop + end_loop .Lfunc_end17: .size test8, .Lfunc_end17-test8 @@ -460,38 +492,41 @@ test9: i32.const $1=, 0 i32.store $0=, 0($1), $1 .LBB18_1: - loop .LBB18_5 + loop i32.const $push0=, 1 i32.store $1=, 0($0), $pop0 i32.call $push1=, a@FUNCTION i32.and $push2=, $pop1, $1 i32.const $push13=, 0 i32.eq $push14=, $pop2, $pop13 - br_if $pop14, .LBB18_5 + br_if $pop14, 1 .LBB18_2: - loop .LBB18_5 - block .LBB18_4 + loop + block i32.const $push4=, 2 i32.store $discard=, 0($0), $pop4 i32.call $push5=, a@FUNCTION i32.and $push6=, $pop5, $1 i32.const $push15=, 0 i32.eq $push16=, $pop6, $pop15 - br_if $pop16, .LBB18_4 + br_if $pop16, 0 i32.const $push10=, 3 i32.store $discard=, 0($0), $pop10 i32.call $push11=, a@FUNCTION i32.and $push12=, $pop11, $1 - br_if $pop12, .LBB18_2 - br .LBB18_1 + br_if $pop12, 1 + br 3 .LBB18_4: + end_block i32.const $push7=, 4 i32.store $discard=, 0($0), $pop7 i32.call $push8=, a@FUNCTION i32.and $push9=, $pop8, $1 - br_if $pop9, .LBB18_2 - br .LBB18_1 + br_if $pop9, 0 + br 2 .LBB18_5: + end_loop + end_loop i32.const $push3=, 5 i32.store $discard=, 0($0), $pop3 return @@ -504,32 +539,36 @@ test10: .local i32, i32, i32, i32, i32 i32.const $0=, 2 .LBB19_1: - loop .LBB19_7 + loop copy_local $4=, $1 copy_local $3=, $0 i32.const $1=, 0 i32.const $0=, 3 i32.const $2=, 4 - br_if $4, .LBB19_1 + br_if $4, 0 .LBB19_2: - block .LBB19_6 - loop .LBB19_5 + block + loop copy_local $4=, $3 copy_local $3=, $2 .LBB19_3: - loop .LBB19_5 + loop copy_local $2=, $4 i32.const $push0=, 4 i32.gt_u $push1=, $2, $pop0 - br_if $pop1, .LBB19_1 + br_if $pop1, 5 copy_local $4=, $3 - tableswitch $2, .LBB19_3, .LBB19_3, .LBB19_5, .LBB19_1, .LBB19_2, .LBB19_6 + tableswitch $2, 0, 0, 1, 5, 2, 4 .LBB19_5: + end_loop + end_loop return .LBB19_6: + end_block i32.const $1=, 1 - br .LBB19_1 + br 0 .LBB19_7: + end_loop .Lfunc_end19: .size test10, .Lfunc_end19-test10 @@ -539,40 +578,45 @@ test11: .local i32 i32.const $0=, 0 i32.store $discard=, 0($0), $0 - block .LBB20_8 - block .LBB20_7 - block .LBB20_6 - block .LBB20_4 - br_if $0, .LBB20_4 - block .LBB20_3 + block + block + block + block + br_if $0, 0 + block i32.const $push4=, 1 i32.store $discard=, 0($0), $pop4 - br_if $0, .LBB20_3 + br_if $0, 0 i32.const $push5=, 2 i32.store $discard=, 0($0), $pop5 - br_if $0, .LBB20_6 + br_if $0, 2 .LBB20_3: + end_block i32.const $push7=, 3 i32.store $discard=, 0($0), $pop7 return .LBB20_4: + end_block i32.const $push0=, 4 i32.store $discard=, 0($0), $pop0 - br_if $0, .LBB20_8 + br_if $0, 2 i32.const $push1=, 5 i32.store $discard=, 0($0), $pop1 i32.const $push8=, 0 i32.eq $push9=, $0, $pop8 - br_if $pop9, .LBB20_7 + br_if $pop9, 1 .LBB20_6: + end_block i32.const $push6=, 7 i32.store $discard=, 0($0), $pop6 return .LBB20_7: + end_block i32.const $push2=, 6 i32.store $discard=, 0($0), $pop2 return .LBB20_8: + end_block i32.const $push3=, 8 i32.store $discard=, 0($0), $pop3 return @@ -585,35 +629,39 @@ test12: .param i32 .local i32 .LBB21_1: - loop .LBB21_8 + loop i32.load8_u $1=, 0($0) - block .LBB21_7 - block .LBB21_6 - block .LBB21_4 + block + block + block i32.const $push0=, 103 i32.gt_s $push1=, $1, $pop0 - br_if $pop1, .LBB21_4 + br_if $pop1, 0 i32.const $push6=, 42 i32.eq $push7=, $1, $pop6 - br_if $pop7, .LBB21_7 + br_if $pop7, 2 i32.const $push8=, 76 i32.eq $push9=, $1, $pop8 - br_if $pop9, .LBB21_7 - br .LBB21_6 + br_if $pop9, 2 + br 1 .LBB21_4: + end_block i32.const $push2=, 108 i32.eq $push3=, $1, $pop2 - br_if $pop3, .LBB21_7 + br_if $pop3, 1 i32.const $push4=, 104 i32.eq $push5=, $1, $pop4 - br_if $pop5, .LBB21_7 + br_if $pop5, 1 .LBB21_6: + end_block return .LBB21_7: + end_block i32.const $push10=, 1 i32.add $0=, $0, $pop10 - br .LBB21_1 + br 0 .LBB21_8: + end_loop .Lfunc_end21: .size test12, .Lfunc_end21-test12 @@ -621,28 +669,47 @@ test12: .type test13,@function test13: .local i32 - block .LBB22_2 + block i32.const $push0=, 0 i32.const $push3=, 0 i32.eq $push4=, $pop0, $pop3 - br_if $pop4, .LBB22_2 + br_if $pop4, 0 return .LBB22_2: + end_block i32.const $0=, 0 - block .LBB22_4 - br_if $0, .LBB22_4 + block + br_if $0, 0 i32.const $0=, 0 .LBB22_4: - block .LBB22_5 + end_block + block i32.const $push1=, 1 i32.and $push2=, $0, $pop1 i32.const $push5=, 0 i32.eq $push6=, $pop2, $pop5 - br_if $pop6, .LBB22_5 -.LBB22_5: + br_if $pop6, 0 + end_block unreachable .Lfunc_end22: .size test13, .Lfunc_end22-test13 + .globl test14 + .type test14,@function +test14: + .local i32 + i32.const $0=, 0 +.LBB23_1: + loop + br_if $0, 0 +.LBB23_2: + end_loop + loop + br_if $0, 0 + end_loop + return +.Lfunc_end23: + .size test14, .Lfunc_end23-test14 + .section ".note.GNU-stack","",@progbits diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast index 3ee288461..f1a2ad63d 100644 --- a/test/llvm_autogenerated/cfg-stackify.wast +++ b/test/llvm_autogenerated/cfg-stackify.wast @@ -28,6 +28,7 @@ (export "test11" $test11) (export "test12" $test12) (export "test13" $test13) + (export "test14" $test14) (func $test0 (param $$0 i32) (local $$1 i32) (block $fake_return_waka123 @@ -35,7 +36,7 @@ (set_local $$1 (i32.const 0) ) - (loop $.LBB0_3 $.LBB0_1 + (loop $label$1 $label$0 (block (set_local $$1 (i32.add @@ -48,10 +49,10 @@ (get_local $$1) (get_local $$0) ) - $.LBB0_3 + $label$1 ) (call_import $something) - (br $.LBB0_1) + (br $label$0) ) ) (br $fake_return_waka123) @@ -65,7 +66,7 @@ (set_local $$1 (i32.const 0) ) - (loop $.LBB1_3 $.LBB1_1 + (loop $label$1 $label$0 (block (set_local $$1 (i32.add @@ -78,10 +79,10 @@ (get_local $$1) (get_local $$0) ) - $.LBB1_3 + $label$1 ) (call_import $something) - (br $.LBB1_1) + (br $label$0) ) ) (br $fake_return_waka123) @@ -91,15 +92,15 @@ (func $test2 (param $$0 i32) (param $$1 i32) (block $fake_return_waka123 (block - (block $.LBB2_2 + (block $label$0 (br_if (i32.lt_s (get_local $$1) (i32.const 1) ) - $.LBB2_2 + $label$0 ) - (loop $.LBB2_1 + (loop $label$2 $label$1 (block (set_local $$1 (i32.add @@ -124,7 +125,7 @@ ) (br_if (get_local $$1) - $.LBB2_1 + $label$1 ) ) ) @@ -137,8 +138,8 @@ (local $$3 i32) (block $fake_return_waka123 (block - (block $.LBB3_5 - (block $.LBB3_2 + (block $label$0 + (block $label$1 (set_local $$3 (i32.store align=4 (get_local $$2) @@ -147,28 +148,28 @@ ) (br_if (get_local $$0) - $.LBB3_2 + $label$1 ) (i32.store align=4 (get_local $$2) (i32.const 1) ) - (br $.LBB3_5) + (br $label$0) ) - (block $.LBB3_4 + (block $label$2 (i32.store align=4 (get_local $$2) (i32.const 2) ) (br_if (get_local $$1) - $.LBB3_4 + $label$2 ) (i32.store align=4 (get_local $$2) (i32.const 3) ) - (br $.LBB3_5) + (br $label$0) ) (i32.store align=4 (get_local $$2) @@ -189,7 +190,7 @@ (local $$2 i32) (block $fake_return_waka123 (block - (block $.LBB4_2 + (block $label$0 (set_local $$2 (i32.store align=4 (get_local $$0) @@ -198,7 +199,7 @@ ) (br_if (get_local $$1) - $.LBB4_2 + $label$0 ) (i32.store align=4 (get_local $$0) @@ -219,8 +220,8 @@ (local $$2 i32) (block $fake_return_waka123 (block - (block $.LBB5_3 - (block $.LBB5_2 + (block $label$0 + (block $label$1 (set_local $$2 (i32.store align=4 (get_local $$0) @@ -229,13 +230,13 @@ ) (br_if (get_local $$1) - $.LBB5_2 + $label$1 ) (i32.store align=4 (get_local $$0) (i32.const 1) ) - (br $.LBB5_3) + (br $label$0) ) (i32.store align=4 (get_local $$0) @@ -269,13 +270,13 @@ (get_local $$0) (i32.const 0) ) - (loop $.LBB7_2 $.LBB7_1 + (loop $label$1 $label$0 (block (i32.store align=4 (get_local $$0) (i32.const 1) ) - (br $.LBB7_1) + (br $label$0) ) ) ) @@ -289,7 +290,7 @@ (i32.const 0) ) ) - (loop $.LBB8_2 $.LBB8_1 + (loop $label$1 $label$0 (block (i32.store align=4 (get_local $$0) @@ -300,7 +301,7 @@ (get_local $$1) (i32.const 0) ) - $.LBB8_1 + $label$0 ) ) ) @@ -318,7 +319,7 @@ (local $$3 i32) (block $fake_return_waka123 (block - (block $.LBB9_4 + (block $label$0 (set_local $$3 (i32.store align=4 (get_local $$2) @@ -327,16 +328,16 @@ ) (br_if (get_local $$0) - $.LBB9_4 + $label$0 ) - (block $.LBB9_3 + (block $label$1 (i32.store align=4 (get_local $$2) (i32.const 2) ) (br_if (get_local $$1) - $.LBB9_3 + $label$1 ) (i32.store align=4 (get_local $$2) @@ -362,8 +363,8 @@ (local $$3 i32) (block $fake_return_waka123 (block - (block $.LBB10_4 - (block $.LBB10_2 + (block $label$0 + (block $label$1 (set_local $$3 (i32.store align=4 (get_local $$2) @@ -372,13 +373,13 @@ ) (br_if (get_local $$0) - $.LBB10_2 + $label$1 ) (i32.store align=4 (get_local $$2) (i32.const 1) ) - (br $.LBB10_4) + (br $label$0) ) (i32.store align=4 (get_local $$2) @@ -386,7 +387,7 @@ ) (br_if (get_local $$1) - $.LBB10_4 + $label$0 ) (i32.store align=4 (get_local $$2) @@ -404,38 +405,38 @@ ) ) (func $doublediamond_in_a_loop (param $$0 i32) (param $$1 i32) (param $$2 i32) (result i32) - (loop $.LBB11_7 $.LBB11_1 + (loop $label$1 $label$0 (block - (block $.LBB11_6 - (block $.LBB11_3 + (block $label$2 + (block $label$3 (i32.store align=4 (get_local $$2) (i32.const 0) ) (br_if (get_local $$0) - $.LBB11_3 + $label$3 ) (i32.store align=4 (get_local $$2) (i32.const 1) ) - (br $.LBB11_6) + (br $label$2) ) - (block $.LBB11_5 + (block $label$4 (i32.store align=4 (get_local $$2) (i32.const 2) ) (br_if (get_local $$1) - $.LBB11_5 + $label$4 ) (i32.store align=4 (get_local $$2) (i32.const 3) ) - (br $.LBB11_6) + (br $label$2) ) (i32.store align=4 (get_local $$2) @@ -446,37 +447,37 @@ (get_local $$2) (i32.const 5) ) - (br $.LBB11_1) + (br $label$0) ) ) ) (func $test3 (param $$0 i32) (block $fake_return_waka123 (block - (block $.LBB12_5 + (block $label$0 (br_if (i32.const 0) - $.LBB12_5 + $label$0 ) - (loop $.LBB12_4 $.LBB12_1 + (loop $label$2 $label$1 (block (br_if (get_local $$0) - $.LBB12_4 + $label$2 ) - (loop $.LBB12_3 $.LBB12_2 + (loop $label$4 $label$3 (block (br_if (i32.ne (get_local $$0) (get_local $$0) ) - $.LBB12_2 + $label$3 ) ) ) (call_import $bar) - (br $.LBB12_1) + (br $label$1) ) ) (unreachable) @@ -488,30 +489,30 @@ (func $test4 (param $$0 i32) (block $fake_return_waka123 (block - (block $.LBB13_8 - (block $.LBB13_7 - (block $.LBB13_4 + (block $label$0 + (block $label$1 + (block $label$2 (br_if (i32.gt_s (get_local $$0) (i32.const 3) ) - $.LBB13_4 + $label$2 ) - (block $.LBB13_3 + (block $label$3 (br_if (i32.eq (get_local $$0) (i32.const 0) ) - $.LBB13_3 + $label$3 ) (br_if (i32.ne (get_local $$0) (i32.const 2) ) - $.LBB13_7 + $label$1 ) ) (br $fake_return_waka123) @@ -521,14 +522,14 @@ (get_local $$0) (i32.const 4) ) - $.LBB13_8 + $label$0 ) (br_if (i32.ne (get_local $$0) (i32.const 622) ) - $.LBB13_7 + $label$1 ) (br $fake_return_waka123) ) @@ -543,8 +544,8 @@ (local $$3 i32) (block $fake_return_waka123 (block - (block $.LBB14_4 - (loop $.LBB14_3 $.LBB14_1 + (block $label$0 + (loop $label$2 $label$1 (block (set_local $$2 (i32.const 0) @@ -566,7 +567,7 @@ ) (i32.const 0) ) - $.LBB14_4 + $label$0 ) (br_if (i32.and @@ -576,7 +577,7 @@ (get_local $$2) ) ) - $.LBB14_1 + $label$1 ) ) ) @@ -600,9 +601,9 @@ (local $$4 i32) (block $fake_return_waka123 (block - (block $.LBB15_6 - (block $.LBB15_5 - (loop $.LBB15_4 $.LBB15_1 + (block $label$0 + (block $label$1 + (loop $label$3 $label$2 (block (set_local $$2 (i32.const 0) @@ -622,7 +623,7 @@ ) (i32.const 0) ) - $.LBB15_6 + $label$0 ) (i32.store align=4 (get_local $$2) @@ -639,7 +640,7 @@ (get_local $$4) (i32.const 0) ) - $.LBB15_5 + $label$1 ) (i32.store align=4 (get_local $$2) @@ -647,7 +648,7 @@ ) (br_if (get_local $$4) - $.LBB15_1 + $label$2 ) ) ) @@ -682,9 +683,9 @@ (get_local $$3) ) ) - (loop $.LBB16_5 $.LBB16_1 + (loop $label$1 $label$0 (block - (block $.LBB16_4 + (block $label$2 (set_local $$3 (i32.store align=4 (get_local $$2) @@ -696,7 +697,7 @@ (get_local $$0) (get_local $$3) ) - $.LBB16_4 + $label$2 ) (i32.store align=4 (get_local $$2) @@ -707,7 +708,7 @@ (get_local $$1) (get_local $$3) ) - $.LBB16_1 + $label$0 ) (i32.store align=4 (get_local $$2) @@ -724,7 +725,7 @@ (get_local $$1) (get_local $$3) ) - $.LBB16_1 + $label$0 ) ) ) @@ -739,31 +740,31 @@ (set_local $$0 (i32.const 0) ) - (loop $.LBB17_4 $.LBB17_1 + (loop $label$1 $label$0 (block - (block $.LBB17_3 + (block $label$2 (br_if (i32.eq (get_local $$0) (i32.const 0) ) - $.LBB17_3 + $label$2 ) (br_if (i32.eq (get_local $$0) (i32.const 0) ) - $.LBB17_1 + $label$0 ) ) - (loop $.LBB17_4 $.LBB17_3 + (loop $label$4 $label$3 (block (br_if (get_local $$0) - $.LBB17_3 + $label$3 ) - (br $.LBB17_1) + (br $label$0) ) ) ) @@ -783,7 +784,7 @@ (get_local $$1) ) ) - (loop $.LBB18_5 $.LBB18_1 + (loop $label$1 $label$0 (block (set_local $$1 (i32.store align=4 @@ -799,11 +800,11 @@ ) (i32.const 0) ) - $.LBB18_5 + $label$1 ) - (loop $.LBB18_5 $.LBB18_2 + (loop $label$3 $label$2 (block - (block $.LBB18_4 + (block $label$4 (i32.store align=4 (get_local $$0) (i32.const 2) @@ -816,7 +817,7 @@ ) (i32.const 0) ) - $.LBB18_4 + $label$4 ) (i32.store align=4 (get_local $$0) @@ -827,9 +828,9 @@ (call_import $a) (get_local $$1) ) - $.LBB18_2 + $label$2 ) - (br $.LBB18_1) + (br $label$0) ) (i32.store align=4 (get_local $$0) @@ -840,9 +841,9 @@ (call_import $a) (get_local $$1) ) - $.LBB18_2 + $label$2 ) - (br $.LBB18_1) + (br $label$0) ) ) ) @@ -866,7 +867,7 @@ (set_local $$0 (i32.const 2) ) - (loop $.LBB19_7 $.LBB19_1 + (loop $label$1 $label$0 (block (set_local $$4 (get_local $$1) @@ -885,10 +886,10 @@ ) (br_if (get_local $$4) - $.LBB19_1 + $label$0 ) - (block $.LBB19_6 - (loop $.LBB19_5 $.LBB19_2 + (block $label$2 + (loop $label$4 $label$3 (block (set_local $$4 (get_local $$3) @@ -896,7 +897,7 @@ (set_local $$3 (get_local $$2) ) - (loop $.LBB19_5 $.LBB19_3 + (loop $label$6 $label$5 (block (set_local $$2 (get_local $$4) @@ -906,14 +907,14 @@ (get_local $$2) (i32.const 4) ) - $.LBB19_1 + $label$0 ) (set_local $$4 (get_local $$3) ) (tableswitch (get_local $$2) - (table (br $.LBB19_3) (br $.LBB19_5) (br $.LBB19_1) (br $.LBB19_2) (br $.LBB19_6)) (br $.LBB19_3) + (table (br $label$5) (br $label$6) (br $label$0) (br $label$3) (br $label$2)) (br $label$5) ) ) ) @@ -924,7 +925,7 @@ (set_local $$1 (i32.const 1) ) - (br $.LBB19_1) + (br $label$0) ) ) ) @@ -941,22 +942,22 @@ (get_local $$0) (get_local $$0) ) - (block $.LBB20_8 - (block $.LBB20_7 - (block $.LBB20_6 - (block $.LBB20_4 + (block $label$0 + (block $label$1 + (block $label$2 + (block $label$3 (br_if (get_local $$0) - $.LBB20_4 + $label$3 ) - (block $.LBB20_3 + (block $label$4 (i32.store align=4 (get_local $$0) (i32.const 1) ) (br_if (get_local $$0) - $.LBB20_3 + $label$4 ) (i32.store align=4 (get_local $$0) @@ -964,7 +965,7 @@ ) (br_if (get_local $$0) - $.LBB20_6 + $label$2 ) ) (i32.store align=4 @@ -979,7 +980,7 @@ ) (br_if (get_local $$0) - $.LBB20_8 + $label$0 ) (i32.store align=4 (get_local $$0) @@ -990,7 +991,7 @@ (get_local $$0) (i32.const 0) ) - $.LBB20_7 + $label$1 ) ) (i32.store align=4 @@ -1017,52 +1018,52 @@ (local $$1 i32) (block $fake_return_waka123 (block - (loop $.LBB21_8 $.LBB21_1 + (loop $label$1 $label$0 (block (set_local $$1 (i32.load8_u align=1 (get_local $$0) ) ) - (block $.LBB21_7 - (block $.LBB21_6 - (block $.LBB21_4 + (block $label$2 + (block $label$3 + (block $label$4 (br_if (i32.gt_s (get_local $$1) (i32.const 103) ) - $.LBB21_4 + $label$4 ) (br_if (i32.eq (get_local $$1) (i32.const 42) ) - $.LBB21_7 + $label$2 ) (br_if (i32.eq (get_local $$1) (i32.const 76) ) - $.LBB21_7 + $label$2 ) - (br $.LBB21_6) + (br $label$3) ) (br_if (i32.eq (get_local $$1) (i32.const 108) ) - $.LBB21_7 + $label$2 ) (br_if (i32.eq (get_local $$1) (i32.const 104) ) - $.LBB21_7 + $label$2 ) ) (br $fake_return_waka123) @@ -1073,7 +1074,7 @@ (i32.const 1) ) ) - (br $.LBB21_1) + (br $label$0) ) ) ) @@ -1083,29 +1084,29 @@ (local $$0 i32) (block $fake_return_waka123 (block - (block $.LBB22_2 + (block $label$0 (br_if (i32.eq (i32.const 0) (i32.const 0) ) - $.LBB22_2 + $label$0 ) (br $fake_return_waka123) ) (set_local $$0 (i32.const 0) ) - (block $.LBB22_4 + (block $label$1 (br_if (get_local $$0) - $.LBB22_4 + $label$1 ) (set_local $$0 (i32.const 0) ) ) - (block $.LBB22_5 + (block $label$2 (br_if (i32.eq (i32.and @@ -1114,12 +1115,39 @@ ) (i32.const 0) ) - $.LBB22_5 + $label$2 ) ) (unreachable) ) ) ) + (func $test14 + (local $$0 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 0) + ) + (loop $label$1 $label$0 + (block + (br_if + (get_local $$0) + $label$0 + ) + ) + ) + (loop $label$3 $label$2 + (block + (br_if + (get_local $$0) + $label$2 + ) + ) + ) + (br $fake_return_waka123) + ) + ) + ) ) ;; METADATA: { "asmConsts": {},"staticBump": 0 } diff --git a/test/llvm_autogenerated/dead-vreg.s b/test/llvm_autogenerated/dead-vreg.s index d6aa16575..83c484f36 100644 --- a/test/llvm_autogenerated/dead-vreg.s +++ b/test/llvm_autogenerated/dead-vreg.s @@ -6,36 +6,40 @@ foo: .param i32, i32, i32 .local i32, i32, i32, i32, i32, i32, i32 i32.const $4=, 1 - block .LBB0_5 + block i32.lt_s $push0=, $2, $4 - br_if $pop0, .LBB0_5 + br_if $pop0, 0 i32.const $5=, 0 i32.const $push1=, 2 i32.shl $3=, $1, $pop1 copy_local $6=, $5 .LBB0_2: - loop .LBB0_5 + loop copy_local $7=, $5 copy_local $8=, $0 copy_local $9=, $1 - block .LBB0_4 + block i32.lt_s $push2=, $1, $4 - br_if $pop2, .LBB0_4 + br_if $pop2, 0 .LBB0_3: - loop .LBB0_4 + loop i32.const $push3=, -1 i32.add $9=, $9, $pop3 i32.store $discard=, 0($8), $7 i32.const $push4=, 4 i32.add $8=, $8, $pop4 i32.add $7=, $7, $6 - br_if $9, .LBB0_3 + br_if $9, 0 .LBB0_4: + end_loop + end_block i32.add $6=, $6, $4 i32.add $0=, $0, $3 i32.ne $push5=, $6, $2 - br_if $pop5, .LBB0_2 + br_if $pop5, 0 .LBB0_5: + end_loop + end_block return .Lfunc_end0: .size foo, .Lfunc_end0-foo diff --git a/test/llvm_autogenerated/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast index 0ce06c41c..f99ee925a 100644 --- a/test/llvm_autogenerated/dead-vreg.wast +++ b/test/llvm_autogenerated/dead-vreg.wast @@ -14,13 +14,13 @@ (set_local $$4 (i32.const 1) ) - (block $.LBB0_5 + (block $label$0 (br_if (i32.lt_s (get_local $$2) (get_local $$4) ) - $.LBB0_5 + $label$0 ) (set_local $$5 (i32.const 0) @@ -34,7 +34,7 @@ (set_local $$6 (get_local $$5) ) - (loop $.LBB0_2 + (loop $label$2 $label$1 (block (set_local $$7 (get_local $$5) @@ -45,15 +45,15 @@ (set_local $$9 (get_local $$1) ) - (block $.LBB0_4 + (block $label$3 (br_if (i32.lt_s (get_local $$1) (get_local $$4) ) - $.LBB0_4 + $label$3 ) - (loop $.LBB0_3 + (loop $label$5 $label$4 (block (set_local $$9 (i32.add @@ -79,7 +79,7 @@ ) (br_if (get_local $$9) - $.LBB0_3 + $label$4 ) ) ) @@ -101,7 +101,7 @@ (get_local $$6) (get_local $$2) ) - $.LBB0_2 + $label$1 ) ) ) diff --git a/test/llvm_autogenerated/func.s b/test/llvm_autogenerated/func.s index 7bfa158f9..49425e63c 100644 --- a/test/llvm_autogenerated/func.s +++ b/test/llvm_autogenerated/func.s @@ -41,14 +41,15 @@ f4: .result i32 .local i32 i32.const $1=, 1 - block .LBB4_2 + block i32.and $push0=, $0, $1 i32.const $push2=, 0 i32.eq $push3=, $pop0, $pop2 - br_if $pop3, .LBB4_2 + br_if $pop3, 0 i32.const $push1=, 0 return $pop1 .LBB4_2: + end_block return $1 .Lfunc_end4: .size f4, .Lfunc_end4-f4 diff --git a/test/llvm_autogenerated/func.wast b/test/llvm_autogenerated/func.wast index 332c8880d..9523359bf 100644 --- a/test/llvm_autogenerated/func.wast +++ b/test/llvm_autogenerated/func.wast @@ -45,7 +45,7 @@ (set_local $$1 (i32.const 1) ) - (block $.LBB4_2 + (block $label$0 (br_if (i32.eq (i32.and @@ -54,7 +54,7 @@ ) (i32.const 0) ) - $.LBB4_2 + $label$0 ) (br $fake_return_waka123 (i32.const 0) diff --git a/test/llvm_autogenerated/phi.s b/test/llvm_autogenerated/phi.s index d16bd75ac..b29451aaf 100644 --- a/test/llvm_autogenerated/phi.s +++ b/test/llvm_autogenerated/phi.s @@ -5,13 +5,14 @@ test0: .param i32 .result i32 - block .LBB0_2 + block i32.const $push0=, -1 i32.gt_s $push1=, $0, $pop0 - br_if $pop1, .LBB0_2 + br_if $pop1, 0 i32.const $push2=, 3 i32.div_s $0=, $0, $pop2 .LBB0_2: + end_block return $0 .Lfunc_end0: .size test0, .Lfunc_end0-test0 @@ -27,14 +28,14 @@ test1: copy_local $4=, $2 copy_local $5=, $3 .LBB1_1: - loop .LBB1_2 + loop copy_local $1=, $4 copy_local $4=, $3 i32.add $5=, $5, $2 copy_local $3=, $1 i32.lt_s $push0=, $5, $0 - br_if $pop0, .LBB1_1 -.LBB1_2: + br_if $pop0, 0 + end_loop return $4 .Lfunc_end1: .size test1, .Lfunc_end1-test1 diff --git a/test/llvm_autogenerated/phi.wast b/test/llvm_autogenerated/phi.wast index 87b681a04..301f1a670 100644 --- a/test/llvm_autogenerated/phi.wast +++ b/test/llvm_autogenerated/phi.wast @@ -5,13 +5,13 @@ (func $test0 (param $$0 i32) (result i32) (block $fake_return_waka123 (block - (block $.LBB0_2 + (block $label$0 (br_if (i32.gt_s (get_local $$0) (i32.const -1) ) - $.LBB0_2 + $label$0 ) (set_local $$0 (i32.div_s @@ -46,7 +46,7 @@ (set_local $$5 (get_local $$3) ) - (loop $.LBB1_2 $.LBB1_1 + (loop $label$1 $label$0 (block (set_local $$1 (get_local $$4) @@ -68,7 +68,7 @@ (get_local $$5) (get_local $$0) ) - $.LBB1_1 + $label$0 ) ) ) diff --git a/test/llvm_autogenerated/reg-stackify.s b/test/llvm_autogenerated/reg-stackify.s index 5c684e423..1fffec602 100644 --- a/test/llvm_autogenerated/reg-stackify.s +++ b/test/llvm_autogenerated/reg-stackify.s @@ -54,7 +54,7 @@ stack_uses: .local i32, i32 i32.const $5=, 2 i32.const $4=, 1 - block .LBB4_2 + block i32.lt_s $push0=, $0, $4 i32.lt_s $push1=, $1, $5 i32.xor $push4=, $pop0, $pop1 @@ -63,10 +63,11 @@ stack_uses: i32.xor $push5=, $pop2, $pop3 i32.xor $push6=, $pop4, $pop5 i32.ne $push7=, $pop6, $4 - br_if $pop7, .LBB4_2 + br_if $pop7, 0 i32.const $push8=, 0 return $pop8 .LBB4_2: + end_block return $4 .Lfunc_end4: .size stack_uses, .Lfunc_end4-stack_uses @@ -77,13 +78,14 @@ multiple_uses: .param i32, i32, i32 .local i32 i32.load $3=, 0($2) - block .LBB5_3 + block i32.ge_u $push0=, $3, $1 - br_if $pop0, .LBB5_3 + br_if $pop0, 0 i32.lt_u $push1=, $3, $0 - br_if $pop1, .LBB5_3 + br_if $pop1, 0 i32.store $discard=, 0($2), $3 .LBB5_3: + end_block return .Lfunc_end5: .size multiple_uses, .Lfunc_end5-multiple_uses diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast index 60592413c..75dc7291e 100644 --- a/test/llvm_autogenerated/reg-stackify.wast +++ b/test/llvm_autogenerated/reg-stackify.wast @@ -79,7 +79,7 @@ (set_local $$4 (i32.const 1) ) - (block $.LBB4_2 + (block $label$0 (br_if (i32.ne (i32.xor @@ -106,7 +106,7 @@ ) (get_local $$4) ) - $.LBB4_2 + $label$0 ) (br $fake_return_waka123 (i32.const 0) @@ -127,20 +127,20 @@ (get_local $$2) ) ) - (block $.LBB5_3 + (block $label$0 (br_if (i32.ge_u (get_local $$3) (get_local $$1) ) - $.LBB5_3 + $label$0 ) (br_if (i32.lt_u (get_local $$3) (get_local $$0) ) - $.LBB5_3 + $label$0 ) (i32.store align=4 (get_local $$2) diff --git a/test/llvm_autogenerated/store-results.s b/test/llvm_autogenerated/store-results.s index 6356d5d92..f574cf7a7 100644 --- a/test/llvm_autogenerated/store-results.s +++ b/test/llvm_autogenerated/store-results.s @@ -18,14 +18,14 @@ foo: i32.const $0=, 0 copy_local $1=, $0 .LBB1_1: - loop .LBB1_2 + loop i32.const $push0=, 1 i32.add $1=, $1, $pop0 i32.store $discard=, pos($0), $0 i32.const $push1=, 256 i32.ne $push2=, $1, $pop1 - br_if $pop2, .LBB1_1 -.LBB1_2: + br_if $pop2, 0 + end_loop return .Lfunc_end1: .size foo, .Lfunc_end1-foo @@ -37,14 +37,14 @@ bar: f32.const $1=, 0x0p0 i32.const $0=, 0 .LBB2_1: - loop .LBB2_2 + loop i32.store $discard=, pos($0), $0 f32.const $push0=, 0x1p0 f32.add $1=, $1, $pop0 f32.const $push1=, 0x1p8 f32.ne $push2=, $1, $pop1 - br_if $pop2, .LBB2_1 -.LBB2_2: + br_if $pop2, 0 + end_loop return .Lfunc_end2: .size bar, .Lfunc_end2-bar diff --git a/test/llvm_autogenerated/store-results.wast b/test/llvm_autogenerated/store-results.wast index 36d9a03e3..34639a9d1 100644 --- a/test/llvm_autogenerated/store-results.wast +++ b/test/llvm_autogenerated/store-results.wast @@ -26,7 +26,7 @@ (set_local $$1 (get_local $$0) ) - (loop $.LBB1_2 $.LBB1_1 + (loop $label$1 $label$0 (block (set_local $$1 (i32.add @@ -43,7 +43,7 @@ (get_local $$1) (i32.const 256) ) - $.LBB1_1 + $label$0 ) ) ) @@ -62,7 +62,7 @@ (set_local $$0 (i32.const 0) ) - (loop $.LBB2_2 $.LBB2_1 + (loop $label$1 $label$0 (block (i32.store offset=4 align=4 (get_local $$0) @@ -79,7 +79,7 @@ (get_local $$1) (f32.const 256) ) - $.LBB2_1 + $label$0 ) ) ) diff --git a/test/llvm_autogenerated/switch.s b/test/llvm_autogenerated/switch.s index 35fda0849..d64cfd92b 100644 --- a/test/llvm_autogenerated/switch.s +++ b/test/llvm_autogenerated/switch.s @@ -4,35 +4,42 @@ .type bar32,@function bar32: .param i32 - block .LBB0_8 + block i32.const $push0=, 23 i32.gt_u $push1=, $0, $pop0 - br_if $pop1, .LBB0_8 - block .LBB0_7 - block .LBB0_6 - block .LBB0_5 - block .LBB0_4 - block .LBB0_3 - block .LBB0_2 - tableswitch $0, .LBB0_2, .LBB0_2, .LBB0_2, .LBB0_2, .LBB0_2, .LBB0_2, .LBB0_2, .LBB0_2, .LBB0_3, .LBB0_3, .LBB0_3, .LBB0_3, .LBB0_3, .LBB0_3, .LBB0_3, .LBB0_3, .LBB0_4, .LBB0_4, .LBB0_4, .LBB0_4, .LBB0_4, .LBB0_4, .LBB0_5, .LBB0_6, .LBB0_7 + br_if $pop1, 0 + block + block + block + block + block + block + tableswitch $0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 4, 5 .LBB0_2: + end_block call foo0@FUNCTION - br .LBB0_8 + br 5 .LBB0_3: + end_block call foo1@FUNCTION - br .LBB0_8 + br 4 .LBB0_4: + end_block call foo2@FUNCTION - br .LBB0_8 + br 3 .LBB0_5: + end_block call foo3@FUNCTION - br .LBB0_8 + br 2 .LBB0_6: + end_block call foo4@FUNCTION - br .LBB0_8 + br 1 .LBB0_7: + end_block call foo5@FUNCTION .LBB0_8: + end_block return .Lfunc_end0: .size bar32, .Lfunc_end0-bar32 @@ -41,36 +48,43 @@ bar32: .type bar64,@function bar64: .param i64 - block .LBB1_8 + block i64.const $push1=, 23 i64.gt_u $push2=, $0, $pop1 - br_if $pop2, .LBB1_8 - block .LBB1_7 - block .LBB1_6 - block .LBB1_5 - block .LBB1_4 - block .LBB1_3 - block .LBB1_2 + br_if $pop2, 0 + block + block + block + block + block + block i32.wrap/i64 $push0=, $0 - tableswitch $pop0, .LBB1_2, .LBB1_2, .LBB1_2, .LBB1_2, .LBB1_2, .LBB1_2, .LBB1_2, .LBB1_2, .LBB1_3, .LBB1_3, .LBB1_3, .LBB1_3, .LBB1_3, .LBB1_3, .LBB1_3, .LBB1_3, .LBB1_4, .LBB1_4, .LBB1_4, .LBB1_4, .LBB1_4, .LBB1_4, .LBB1_5, .LBB1_6, .LBB1_7 + tableswitch $pop0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 4, 5 .LBB1_2: + end_block call foo0@FUNCTION - br .LBB1_8 + br 5 .LBB1_3: + end_block call foo1@FUNCTION - br .LBB1_8 + br 4 .LBB1_4: + end_block call foo2@FUNCTION - br .LBB1_8 + br 3 .LBB1_5: + end_block call foo3@FUNCTION - br .LBB1_8 + br 2 .LBB1_6: + end_block call foo4@FUNCTION - br .LBB1_8 + br 1 .LBB1_7: + end_block call foo5@FUNCTION .LBB1_8: + end_block return .Lfunc_end1: .size bar64, .Lfunc_end1-bar64 diff --git a/test/llvm_autogenerated/switch.wast b/test/llvm_autogenerated/switch.wast index 75e1be4ce..098445ef7 100644 --- a/test/llvm_autogenerated/switch.wast +++ b/test/llvm_autogenerated/switch.wast @@ -12,39 +12,39 @@ (func $bar32 (param $$0 i32) (block $fake_return_waka123 (block - (block $.LBB0_8 + (block $label$0 (br_if (i32.gt_u (get_local $$0) (i32.const 23) ) - $.LBB0_8 + $label$0 ) - (block $.LBB0_7 - (block $.LBB0_6 - (block $.LBB0_5 - (block $.LBB0_4 - (block $.LBB0_3 - (block $.LBB0_2 + (block $label$1 + (block $label$2 + (block $label$3 + (block $label$4 + (block $label$5 + (block $label$6 (tableswitch (get_local $$0) - (table (br $.LBB0_2) (br $.LBB0_2) (br $.LBB0_2) (br $.LBB0_2) (br $.LBB0_2) (br $.LBB0_2) (br $.LBB0_2) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_3) (br $.LBB0_4) (br $.LBB0_4) (br $.LBB0_4) (br $.LBB0_4) (br $.LBB0_4) (br $.LBB0_4) (br $.LBB0_5) (br $.LBB0_6) (br $.LBB0_7)) (br $.LBB0_2) + (table (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$4) (br $label$4) (br $label$4) (br $label$4) (br $label$4) (br $label$4) (br $label$3) (br $label$2) (br $label$1)) (br $label$6) ) ) (call_import $foo0) - (br $.LBB0_8) + (br $label$0) ) (call_import $foo1) - (br $.LBB0_8) + (br $label$0) ) (call_import $foo2) - (br $.LBB0_8) + (br $label$0) ) (call_import $foo3) - (br $.LBB0_8) + (br $label$0) ) (call_import $foo4) - (br $.LBB0_8) + (br $label$0) ) (call_import $foo5) ) @@ -55,41 +55,41 @@ (func $bar64 (param $$0 i64) (block $fake_return_waka123 (block - (block $.LBB1_8 + (block $label$0 (br_if (i64.gt_u (get_local $$0) (i64.const 23) ) - $.LBB1_8 + $label$0 ) - (block $.LBB1_7 - (block $.LBB1_6 - (block $.LBB1_5 - (block $.LBB1_4 - (block $.LBB1_3 - (block $.LBB1_2 + (block $label$1 + (block $label$2 + (block $label$3 + (block $label$4 + (block $label$5 + (block $label$6 (tableswitch (i32.wrap/i64 (get_local $$0) ) - (table (br $.LBB1_2) (br $.LBB1_2) (br $.LBB1_2) (br $.LBB1_2) (br $.LBB1_2) (br $.LBB1_2) (br $.LBB1_2) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_3) (br $.LBB1_4) (br $.LBB1_4) (br $.LBB1_4) (br $.LBB1_4) (br $.LBB1_4) (br $.LBB1_4) (br $.LBB1_5) (br $.LBB1_6) (br $.LBB1_7)) (br $.LBB1_2) + (table (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$6) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$5) (br $label$4) (br $label$4) (br $label$4) (br $label$4) (br $label$4) (br $label$4) (br $label$3) (br $label$2) (br $label$1)) (br $label$6) ) ) (call_import $foo0) - (br $.LBB1_8) + (br $label$0) ) (call_import $foo1) - (br $.LBB1_8) + (br $label$0) ) (call_import $foo2) - (br $.LBB1_8) + (br $label$0) ) (call_import $foo3) - (br $.LBB1_8) + (br $label$0) ) (call_import $foo4) - (br $.LBB1_8) + (br $label$0) ) (call_import $foo5) ) |