diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-08-18 17:51:27 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-08-18 17:51:27 +0000 |
commit | c9623db884ec044249c85366e9bc94e47d5cc48a (patch) | |
tree | 70ad6fd8b0ee4e7c9e6cb736699348a48a612548 /llvm/test/CodeGen/WebAssembly/cfg-stackify.ll | |
parent | e2f36bcb84219bcb1298e5245f6507b638645673 (diff) | |
download | bcm5719-llvm-c9623db884ec044249c85366e9bc94e47d5cc48a.tar.gz bcm5719-llvm-c9623db884ec044249c85366e9bc94e47d5cc48a.zip |
[WebAssembly] Disable the store-results optimization.
The WebAssemly spec removing the return value from store instructions, so
remove the associated optimization from LLVM.
This patch leaves the store instruction operands in place for now, so stores
now always write to "$drop"; these will be removed in a seperate patch.
llvm-svn: 279100
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/cfg-stackify.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/cfg-stackify.ll | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll b/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll index 241ccf4b885..0990eb186d6 100644 --- a/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll +++ b/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll @@ -207,12 +207,12 @@ exit: ; CHECK: block{{$}} ; CHECK: br_if 0, $1{{$}} ; CHECK: .LBB4_2: -; CHECK: return ${{[0-9]+}}{{$}} +; CHECK: return ; OPT-LABEL: triangle: ; OPT: block{{$}} ; OPT: br_if 0, $1{{$}} ; OPT: .LBB4_2: -; OPT: return ${{[0-9]+}}{{$}} +; OPT: return define i32 @triangle(i32* %p, i32 %a) { entry: %c = icmp eq i32 %a, 0 @@ -329,7 +329,7 @@ exit: ; CHECK: br_if 0, $1{{$}} ; CHECK: .LBB9_3: ; CHECK: .LBB9_4: -; CHECK: return ${{[0-9]+}}{{$}} +; CHECK: return ; OPT-LABEL: doubletriangle: ; OPT: block{{$}} ; OPT: br_if 0, $0{{$}} @@ -337,7 +337,7 @@ exit: ; OPT: br_if 0, $1{{$}} ; OPT: .LBB9_3: ; OPT: .LBB9_4: -; OPT: return ${{[0-9]+}}{{$}} +; OPT: return define i32 @doubletriangle(i32 %a, i32 %b, i32* %p) { entry: %c = icmp eq i32 %a, 0 @@ -965,6 +965,7 @@ bb6: ; CHECK: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block ; CHECK: block{{$}} +; CHECK-NEXT: i32.const ; CHECK-NEXT: br_if 0, {{[^,]+}}{{$}} ; CHECK-NOT: block ; CHECK: br_if 2, {{[^,]+}}{{$}} @@ -996,7 +997,8 @@ bb6: ; OPT: br_if 0, $pop{{[0-9]+}}{{$}} ; OPT-NOT: block ; OPT: block{{$}} -; OPT-NEXT: br_if 0, $0{{$}} +; OPT-NEXT: i32.const +; OPT-NEXT: br_if 0, {{[^,]+}}{{$}} ; OPT-NOT: block ; OPT: br_if 2, {{[^,]+}}{{$}} ; OPT-NEXT: .LBB20_3: |