summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-10-06 22:10:23 +0000
committerDan Gohman <dan433584@gmail.com>2016-10-06 22:10:23 +0000
commit3a643e8d46d06da4c6648a12e48ceb6ab6dc3733 (patch)
tree069e38970841f08320d08f97f5749f0178236b9c /llvm/test/CodeGen/WebAssembly/cfg-stackify.ll
parent7f1bdb2e02ca5e61703278d11809ffbcbea1fb29 (diff)
downloadbcm5719-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.ll48
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()
OpenPOWER on IntegriCloud