diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-10-06 22:10:23 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-10-06 22:10:23 +0000 |
commit | 3a643e8d46d06da4c6648a12e48ceb6ab6dc3733 (patch) | |
tree | 069e38970841f08320d08f97f5749f0178236b9c /llvm/test/CodeGen/WebAssembly/cfg-stackify.ll | |
parent | 7f1bdb2e02ca5e61703278d11809ffbcbea1fb29 (diff) | |
download | bcm5719-llvm-3a643e8d46d06da4c6648a12e48ceb6ab6dc3733.tar.gz bcm5719-llvm-3a643e8d46d06da4c6648a12e48ceb6ab6dc3733.zip |
[WebAssembly] Remove loop's bottom label.
Per spec changes, loop constructs no longer have a bottom label.
https://reviews.llvm.org/D25118
llvm-svn: 283502
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/cfg-stackify.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/cfg-stackify.ll | 48 |
1 files changed, 31 insertions, 17 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll b/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll index 943ffdcddd0..02c3fd30283 100644 --- a/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll +++ b/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll @@ -576,7 +576,7 @@ default: ; CHECK: .LBB14_1: ; CHECK-NEXT: block{{$}} ; CHECK-NEXT: loop{{$}} -; CHECK: br_if 2, {{[^,]+}}{{$}} +; CHECK: br_if 1, {{[^,]+}}{{$}} ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NEXT: end_loop{{$}} ; CHECK: return{{$}} @@ -586,7 +586,7 @@ default: ; OPT: .LBB14_1: ; OPT-NEXT: block{{$}} ; OPT-NEXT: loop{{$}} -; OPT: br_if 2, {{[^,]+}}{{$}} +; OPT: br_if 1, {{[^,]+}}{{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NEXT: end_loop{{$}} ; OPT: return{{$}} @@ -623,10 +623,10 @@ return: ; CHECK-NEXT: block{{$}} ; CHECK-NEXT: loop{{$}} ; CHECK-NOT: block -; CHECK: br_if 3, {{[^,]+}}{{$}} -; CHECK-NOT: block ; CHECK: br_if 2, {{[^,]+}}{{$}} ; CHECK-NOT: block +; CHECK: br_if 1, {{[^,]+}}{{$}} +; CHECK-NOT: block ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NEXT: end_loop{{$}} ; CHECK-NOT: block @@ -644,10 +644,10 @@ return: ; OPT-NEXT: block{{$}} ; OPT-NEXT: loop{{$}} ; OPT-NOT: block -; OPT: br_if 3, {{[^,]+}}{{$}} -; OPT-NOT: block ; OPT: br_if 2, {{[^,]+}}{{$}} ; OPT-NOT: block +; OPT: br_if 1, {{[^,]+}}{{$}} +; OPT-NOT: block ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NEXT: end_loop{{$}} ; OPT-NOT: block @@ -718,7 +718,7 @@ second: ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block ; OPT: br_if 1, {{[^,]+}}{{$}} -; OPT: br 3{{$}} +; OPT: br 2{{$}} ; OPT-NEXT: .LBB16_3: ; OPT-NEXT: end_block ; OPT-NOT: block @@ -796,6 +796,7 @@ bb3: ; CHECK-LABEL: test9: ; CHECK: .LBB18_1: +; CHECK-NEXT: block{{$}} ; CHECK-NEXT: loop{{$}} ; CHECK-NOT: block ; CHECK: br_if 1, {{[^,]+}}{{$}} @@ -806,18 +807,21 @@ bb3: ; CHECK-NOT: block ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block -; CHECK: br_if 3, {{[^,]+}}{{$}} +; CHECK: br_if 2, {{[^,]+}}{{$}} ; CHECK-NEXT: br 1{{$}} ; CHECK-NEXT: .LBB18_4: ; CHECK-NEXT: end_block{{$}} ; CHECK-NOT: block -; CHECK: br_if 2, {{[^,]+}}{{$}} +; CHECK: br_if 1, {{[^,]+}}{{$}} ; CHECK-NEXT: br 0{{$}} ; CHECK-NEXT: .LBB18_5: ; CHECK-NOT: block +; CHECK: end_block +; CHECK-NOT: block ; CHECK: return{{$}} ; OPT-LABEL: test9: ; OPT: .LBB18_1: +; OPT-NEXT: block{{$}} ; OPT-NEXT: loop{{$}} ; OPT-NOT: block ; OPT: br_if 1, {{[^,]+}}{{$}} @@ -829,14 +833,16 @@ bb3: ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block ; OPT: br_if 1, {{[^,]+}}{{$}} -; OPT-NEXT: br 3{{$}} +; OPT-NEXT: br 2{{$}} ; OPT-NEXT: .LBB18_4: ; OPT-NEXT: end_block{{$}} ; OPT-NOT: block ; OPT: br_if 0, {{[^,]+}}{{$}} -; OPT-NEXT: br 2{{$}} +; OPT-NEXT: br 1{{$}} ; OPT-NEXT: .LBB18_5: ; OPT-NOT: block +; OPT: end_block +; OPT-NOT: block ; OPT: return{{$}} declare i1 @a() define void @test9() { @@ -884,10 +890,11 @@ end: ; CHECK: .LBB19_4: ; CHECK-NEXT: loop{{$}} ; CHECK-NOT: block -; CHECK: br_if 5, {{[^,]+}}{{$}} -; CHECK-NOT: block -; CHECK: br_table {{[^,]+}}, 0, 1, 5, 2, 4, 0{{$}} +; CHECK: br_if 3, {{[^,]+}}{{$}} +; CHECK: block{{$}} +; CHECK: br_table {{[^,]+}}, 1, 0, 4, 2, 3, 1{{$}} ; CHECK-NEXT: .LBB19_6: +; CHECK-NEXT: end_block{{$}} ; CHECK-NEXT: end_loop{{$}} ; CHECK-NEXT: end_loop{{$}} ; CHECK-NEXT: return{{$}} @@ -908,10 +915,11 @@ end: ; OPT: .LBB19_4: ; OPT-NEXT: loop{{$}} ; OPT-NOT: block -; OPT: br_if 5, {{[^,]+}}{{$}} -; OPT-NOT: block -; OPT: br_table {{[^,]+}}, 0, 1, 5, 2, 4, 0{{$}} +; OPT: br_if 3, {{[^,]+}}{{$}} +; OPT: block +; OPT: br_table {{[^,]+}}, 1, 0, 4, 2, 3, 1{{$}} ; OPT-NEXT: .LBB19_6: +; OPT-NEXT: end_block{{$}} ; OPT-NEXT: end_loop{{$}} ; OPT-NEXT: end_loop{{$}} ; OPT-NEXT: return{{$}} @@ -1055,6 +1063,7 @@ bb8: ; CHECK-LABEL: test12: ; CHECK: .LBB21_1: +; CHECK-NEXT: block{{$}} ; CHECK-NEXT: loop{{$}} ; CHECK-NOT: block ; CHECK: block{{$}} @@ -1077,9 +1086,11 @@ bb8: ; CHECK: br 0{{$}} ; CHECK-NEXT: .LBB21_7: ; CHECK-NEXT: end_loop{{$}} +; CHECK-NEXT: end_block{{$}} ; CHECK-NEXT: return{{$}} ; OPT-LABEL: test12: ; OPT: .LBB21_1: +; OPT-NEXT: block{{$}} ; OPT-NEXT: loop{{$}} ; OPT-NOT: block ; OPT: block{{$}} @@ -1101,6 +1112,7 @@ bb8: ; OPT: br 0{{$}} ; OPT-NEXT: .LBB21_7: ; OPT-NEXT: end_loop{{$}} +; OPT-NEXT: end_block{{$}} ; OPT-NEXT: return{{$}} define void @test12(i8* %arg) { bb: @@ -1250,6 +1262,7 @@ bb50: ; CHECK: br_if 0, $pop{{.*}}{{$}} ; CHECK: .LBB24_2: ; CHECK-NEXT: block{{$}} +; CHECK-NEXT: block{{$}} ; CHECK-NEXT: loop{{$}} ; CHECK: br_if 1, $pop{{.*}}{{$}} ; CHECK: br_if 0, ${{.*}}{{$}} @@ -1278,6 +1291,7 @@ bb50: ; OPT-NEXT: i32.const ; OPT-NEXT: .LBB24_3: ; OPT-NEXT: block +; OPT-NEXT: block ; OPT-NEXT: loop %0 = type { i8, i32 } declare void @test15_callee0() |