diff options
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/cfg-stackify.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/cfg-stackify.ll | 202 |
1 files changed, 102 insertions, 100 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll b/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll index 02c3fd30283..eb1f2368344 100644 --- a/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll +++ b/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll @@ -105,7 +105,7 @@ back: ; CHECK-LABEL: test2: ; CHECK-NOT: local -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK: .LBB2_{{[0-9]+}}: ; CHECK: loop @@ -116,7 +116,7 @@ back: ; CHECK: return{{$}} ; OPT-LABEL: test2: ; OPT-NOT: local -; OPT: block{{$}} +; OPT: block {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT: .LBB2_{{[0-9]+}}: ; OPT: loop @@ -151,13 +151,13 @@ for.end: } ; CHECK-LABEL: doublediamond: -; CHECK: block{{$}} -; CHECK-NEXT: block{{$}} +; CHECK: block {{$}} +; CHECK-NEXT: block {{$}} ; CHECK: br_if 0, ${{[^,]+}}{{$}} ; CHECK: br 1{{$}} ; CHECK: .LBB3_2: ; CHECK-NEXT: end_block{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, ${{[^,]+}}{{$}} ; CHECK: br 1{{$}} ; CHECK: .LBB3_4: @@ -167,9 +167,9 @@ for.end: ; CHECK: i32.const $push{{[0-9]+}}=, 0{{$}} ; CHECK-NEXT: return $pop{{[0-9]+}}{{$}} ; OPT-LABEL: doublediamond: -; OPT: block{{$}} -; OPT-NEXT: block{{$}} -; OPT-NEXT: block{{$}} +; OPT: block {{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: block {{$}} ; OPT: br_if 0, ${{[^,]+}}{{$}} ; OPT: br_if 1, ${{[^,]+}}{{$}} ; OPT: br 2{{$}} @@ -204,12 +204,12 @@ exit: } ; CHECK-LABEL: triangle: -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $1{{$}} ; CHECK: .LBB4_2: ; CHECK: return ; OPT-LABEL: triangle: -; OPT: block{{$}} +; OPT: block {{$}} ; OPT: br_if 0, $1{{$}} ; OPT: .LBB4_2: ; OPT: return @@ -227,8 +227,8 @@ exit: } ; CHECK-LABEL: diamond: -; CHECK: block{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $1{{$}} ; CHECK: br 1{{$}} ; CHECK: .LBB5_2: @@ -236,8 +236,8 @@ exit: ; CHECK: i32.const $push{{[0-9]+}}=, 0{{$}} ; CHECK-NEXT: return $pop{{[0-9]+}}{{$}} ; OPT-LABEL: diamond: -; OPT: block{{$}} -; OPT: block{{$}} +; OPT: block {{$}} +; OPT: block {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT: br 1{{$}} ; OPT: .LBB5_2: @@ -275,16 +275,18 @@ entry: ; CHECK-LABEL: minimal_loop: ; CHECK-NOT: br ; CHECK: .LBB7_1: +; CHECK: loop i32 ; CHECK: i32.store 0($0), $pop{{[0-9]+}}{{$}} ; CHECK: br 0{{$}} ; CHECK: .LBB7_2: ; OPT-LABEL: minimal_loop: ; OPT-NOT: br ; OPT: .LBB7_1: +; OPT: loop i32 ; OPT: i32.store 0($0), $pop{{[0-9]+}}{{$}} ; OPT: br 0{{$}} ; OPT: .LBB7_2: -define void @minimal_loop(i32* %p) { +define i32 @minimal_loop(i32* %p) { entry: store volatile i32 0, i32* %p br label %loop @@ -296,7 +298,7 @@ loop: ; CHECK-LABEL: simple_loop: ; CHECK-NOT: br ; CHECK: .LBB8_1: -; CHECK: loop{{$}} +; CHECK: loop {{$}} ; CHECK: br_if 0, $pop{{[0-9]+}}{{$}} ; CHECK-NEXT: end_loop{{$}} ; CHECK: i32.const $push{{[0-9]+}}=, 0{{$}} @@ -304,7 +306,7 @@ loop: ; OPT-LABEL: simple_loop: ; OPT-NOT: br ; OPT: .LBB8_1: -; OPT: loop{{$}} +; OPT: loop {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NEXT: end_loop{{$}} ; OPT: i32.const $push{{[0-9]+}}=, 0{{$}} @@ -323,17 +325,17 @@ exit: } ; CHECK-LABEL: doubletriangle: -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $0{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $1{{$}} ; CHECK: .LBB9_3: ; CHECK: .LBB9_4: ; CHECK: return ; OPT-LABEL: doubletriangle: -; OPT: block{{$}} +; OPT: block {{$}} ; OPT: br_if 0, $0{{$}} -; OPT: block{{$}} +; OPT: block {{$}} ; OPT: br_if 0, $1{{$}} ; OPT: .LBB9_3: ; OPT: .LBB9_4: @@ -359,8 +361,8 @@ exit: } ; CHECK-LABEL: ifelse_earlyexits: -; CHECK: block{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $0{{$}} ; CHECK: br 1{{$}} ; CHECK: .LBB10_2: @@ -369,8 +371,8 @@ exit: ; CHECK: i32.const $push{{[0-9]+}}=, 0{{$}} ; CHECK-NEXT: return $pop{{[0-9]+}}{{$}} ; OPT-LABEL: ifelse_earlyexits: -; OPT: block{{$}} -; OPT: block{{$}} +; OPT: block {{$}} +; OPT: block {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT: br_if 1, $1{{$}} ; OPT: br 1{{$}} @@ -400,13 +402,13 @@ exit: ; CHECK-LABEL: doublediamond_in_a_loop: ; CHECK: .LBB11_1: -; CHECK: loop{{$}} -; CHECK: block{{$}} +; CHECK: loop i32{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $0{{$}} ; CHECK: br 1{{$}} ; CHECK: .LBB11_3: ; CHECK: end_block{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $1{{$}} ; CHECK: br 1{{$}} ; CHECK: .LBB11_5: @@ -415,10 +417,10 @@ exit: ; CHECK-NEXT: end_loop{{$}} ; OPT-LABEL: doublediamond_in_a_loop: ; OPT: .LBB11_1: -; OPT: loop{{$}} -; OPT: block{{$}} +; OPT: loop i32{{$}} +; OPT: block {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} -; OPT: block{{$}} +; OPT: block {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT: br 2{{$}} ; OPT-NEXT: .LBB11_4: @@ -429,7 +431,7 @@ exit: ; OPT: br 0{{$}} ; OPT: .LBB11_6: ; OPT-NEXT: end_loop{{$}} -define void @doublediamond_in_a_loop(i32 %a, i32 %b, i32* %p) { +define i32 @doublediamond_in_a_loop(i32 %a, i32 %b, i32* %p) { entry: br label %header header: @@ -513,14 +515,14 @@ if.end: ; CHECK-LABEL: test4: ; CHECK-NEXT: .param i32{{$}} -; CHECK: block{{$}} -; CHECK-NEXT: block{{$}} +; CHECK: block {{$}} +; CHECK-NEXT: block {{$}} ; CHECK: br_if 0, $pop{{[0-9]+}}{{$}} ; CHECK: br_if 1, $pop{{[0-9]+}}{{$}} ; CHECK: br 1{{$}} ; CHECK-NEXT: .LBB13_3: ; CHECK-NEXT: end_block{{$}} -; CHECK-NEXT: block{{$}} +; CHECK-NEXT: block {{$}} ; CHECK: br_if 0, $pop{{[0-9]+}}{{$}} ; CHECK: br_if 1, $pop{{[0-9]+}}{{$}} ; CHECK-NEXT: .LBB13_5: @@ -531,14 +533,14 @@ if.end: ; CHECK-NEXT: return{{$}} ; OPT-LABEL: test4: ; OPT-NEXT: .param i32{{$}} -; OPT: block{{$}} -; OPT-NEXT: block{{$}} +; OPT: block {{$}} +; OPT-NEXT: block {{$}} ; OPT: br_if 0, $pop{{[0-9]+}}{{$}} ; OPT: br_if 1, $pop{{[0-9]+}}{{$}} ; OPT: br 1{{$}} ; OPT-NEXT: .LBB13_3: ; OPT-NEXT: end_block{{$}} -; OPT-NEXT: block{{$}} +; OPT-NEXT: block {{$}} ; OPT: br_if 0, $pop{{[0-9]+}}{{$}} ; OPT: br_if 1, $pop{{[0-9]+}}{{$}} ; OPT-NEXT: .LBB13_5: @@ -574,8 +576,8 @@ default: ; CHECK-LABEL: test5: ; CHECK: .LBB14_1: -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: loop {{$}} ; CHECK: br_if 1, {{[^,]+}}{{$}} ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NEXT: end_loop{{$}} @@ -584,8 +586,8 @@ default: ; CHECK: return{{$}} ; OPT-LABEL: test5: ; OPT: .LBB14_1: -; OPT-NEXT: block{{$}} -; OPT-NEXT: loop{{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: loop {{$}} ; OPT: br_if 1, {{[^,]+}}{{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NEXT: end_loop{{$}} @@ -619,9 +621,9 @@ return: ; CHECK-LABEL: test6: ; CHECK: .LBB15_1: -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block ; CHECK: br_if 2, {{[^,]+}}{{$}} ; CHECK-NOT: block @@ -640,9 +642,9 @@ return: ; CHECK: return{{$}} ; OPT-LABEL: test6: ; OPT: .LBB15_1: -; OPT-NEXT: block{{$}} -; OPT-NEXT: block{{$}} -; OPT-NEXT: loop{{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block ; OPT: br_if 2, {{[^,]+}}{{$}} ; OPT-NOT: block @@ -693,9 +695,9 @@ second: ; CHECK-LABEL: test7: ; CHECK: .LBB16_1: -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block ; CHECK: br_if 1, {{[^,]+}}{{$}} @@ -711,9 +713,9 @@ second: ; OPT-LABEL: test7: ; OPT: .LBB16_1: ; OPT-NEXT: block -; OPT-NEXT: loop{{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block -; OPT: block{{$}} +; OPT: block {{$}} ; OPT-NOT: block ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block @@ -760,7 +762,7 @@ u1: ; CHECK-LABEL: test8: ; CHECK: .LBB17_1: -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop i32{{$}} ; CHECK-NEXT: i32.const $push{{[^,]+}}, 0{{$}} ; CHECK-NEXT: br_if 0, {{[^,]+}}{{$}} ; CHECK-NEXT: br 0{{$}} @@ -768,13 +770,13 @@ u1: ; CHECK-NEXT: end_loop{{$}} ; OPT-LABEL: test8: ; OPT: .LBB17_1: -; OPT-NEXT: loop{{$}} +; OPT-NEXT: loop i32{{$}} ; OPT-NEXT: i32.const $push{{[^,]+}}, 0{{$}} ; OPT-NEXT: br_if 0, {{[^,]+}}{{$}} ; OPT-NEXT: br 0{{$}} ; OPT-NEXT: .LBB17_2: ; OPT-NEXT: end_loop{{$}} -define void @test8() { +define i32 @test8() { bb: br label %bb1 @@ -796,14 +798,14 @@ bb3: ; CHECK-LABEL: test9: ; CHECK: .LBB18_1: -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block ; CHECK: br_if 1, {{[^,]+}}{{$}} ; CHECK-NEXT: .LBB18_2: -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK-NOT: block ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block @@ -821,14 +823,14 @@ bb3: ; CHECK: return{{$}} ; OPT-LABEL: test9: ; OPT: .LBB18_1: -; OPT-NEXT: block{{$}} -; OPT-NEXT: loop{{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block ; OPT: br_if 1, {{[^,]+}}{{$}} ; OPT-NEXT: .LBB18_2: -; OPT-NEXT: loop{{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block -; OPT: block{{$}} +; OPT: block {{$}} ; OPT-NOT: block ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block @@ -880,18 +882,18 @@ end: ; CHECK-LABEL: test10: ; CHECK: .LBB19_1: -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK: .LBB19_3: -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block ; CHECK: .LBB19_4: -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block ; CHECK: br_if 3, {{[^,]+}}{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_table {{[^,]+}}, 1, 0, 4, 2, 3, 1{{$}} ; CHECK-NEXT: .LBB19_6: ; CHECK-NEXT: end_block{{$}} @@ -905,15 +907,15 @@ end: ; CHECK-NEXT: .LBB19_8: ; OPT-LABEL: test10: ; OPT: .LBB19_1: -; OPT-NEXT: loop{{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT: .LBB19_3: -; OPT-NEXT: block{{$}} -; OPT-NEXT: loop{{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block ; OPT: .LBB19_4: -; OPT-NEXT: loop{{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block ; OPT: br_if 3, {{[^,]+}}{{$}} ; OPT: block @@ -966,13 +968,13 @@ bb6: ; Test a CFG DAG with interesting merging. ; CHECK-LABEL: test11: -; CHECK: block{{$}} -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: block{{$}} +; CHECK: block {{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: block {{$}} ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK-NEXT: i32.const ; CHECK-NEXT: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block @@ -1000,11 +1002,11 @@ bb6: ; CHECK-NOT: block ; CHECK: return{{$}} ; OPT-LABEL: test11: -; OPT: block{{$}} -; OPT-NEXT: block{{$}} +; OPT: block {{$}} +; OPT-NEXT: block {{$}} ; OPT: br_if 0, $pop{{[0-9]+}}{{$}} ; OPT-NOT: block -; OPT: block{{$}} +; OPT: block {{$}} ; OPT-NEXT: i32.const ; OPT-NEXT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block @@ -1016,7 +1018,7 @@ bb6: ; OPT-NEXT: .LBB20_4: ; OPT-NEXT: end_block{{$}} ; OPT-NOT: block -; OPT: block{{$}} +; OPT: block {{$}} ; OPT-NOT: block ; OPT: br_if 0, $pop{{[0-9]+}}{{$}} ; OPT-NOT: block @@ -1063,11 +1065,11 @@ bb8: ; CHECK-LABEL: test12: ; CHECK: .LBB21_1: -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NOT: block -; CHECK: block{{$}} -; CHECK-NEXT: block{{$}} +; CHECK: block {{$}} +; CHECK-NEXT: block {{$}} ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block ; CHECK: br_if 1, {{[^,]+}}{{$}} @@ -1090,11 +1092,11 @@ bb8: ; CHECK-NEXT: return{{$}} ; OPT-LABEL: test12: ; OPT: .LBB21_1: -; OPT-NEXT: block{{$}} -; OPT-NEXT: loop{{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: loop {{$}} ; OPT-NOT: block -; OPT: block{{$}} -; OPT-NEXT: block{{$}} +; OPT: block {{$}} +; OPT-NEXT: block {{$}} ; OPT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block ; OPT: br_if 1, {{[^,]+}}{{$}} @@ -1143,10 +1145,10 @@ bb7: ; CHECK-LABEL: test13: ; CHECK-NEXT: .local i32{{$}} -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: block{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: block {{$}} ; CHECK: br_if 0, $pop0{{$}} -; CHECK: block{{$}} +; CHECK: block {{$}} ; CHECK: br_if 0, $pop3{{$}} ; CHECK: .LBB22_3: ; CHECK-NEXT: end_block{{$}} @@ -1160,10 +1162,10 @@ bb7: ; CHECK-NEXT: unreachable{{$}} ; OPT-LABEL: test13: ; OPT-NEXT: .local i32{{$}} -; OPT-NEXT: block{{$}} -; OPT-NEXT: block{{$}} +; OPT-NEXT: block {{$}} +; OPT-NEXT: block {{$}} ; OPT: br_if 0, $pop0{{$}} -; OPT: block{{$}} +; OPT: block {{$}} ; OPT: br_if 0, $pop3{{$}} ; OPT: .LBB22_3: ; OPT-NEXT: end_block{{$}} @@ -1197,12 +1199,12 @@ bb5: ; CHECK-LABEL: test14: ; CHECK-NEXT: .LBB23_1:{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NEXT: i32.const $push0=, 0{{$}} ; CHECK-NEXT: br_if 0, $pop0{{$}} ; CHECK-NEXT: end_loop{{$}} ; CHECK-NEXT: .LBB23_3:{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: loop {{$}} ; CHECK-NEXT: i32.const $push1=, 0{{$}} ; CHECK-NEXT: br_if 0, $pop1{{$}} ; CHECK-NEXT: end_loop{{$}} @@ -1261,9 +1263,9 @@ bb50: ; CHECK-NEXT: block ; CHECK: br_if 0, $pop{{.*}}{{$}} ; CHECK: .LBB24_2: -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: block{{$}} -; CHECK-NEXT: loop{{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: block {{$}} +; CHECK-NEXT: loop {{$}} ; CHECK: br_if 1, $pop{{.*}}{{$}} ; CHECK: br_if 0, ${{.*}}{{$}} ; CHECK-NEXT: br 2{{$}} |