summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@google.com>2016-03-17 17:00:29 +0000
committerDerek Schuff <dschuff@google.com>2016-03-17 17:00:29 +0000
commitd4207ba0f6d5f110f5d0def0d1f675c6a3b05668 (patch)
tree609cd049cfbd5255e9125b9cd50cffffbc8f6d32 /llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll
parent93bbc7cd66aa98120a8b0411d90a619aec8df6e3 (diff)
downloadbcm5719-llvm-d4207ba0f6d5f110f5d0def0d1f675c6a3b05668.tar.gz
bcm5719-llvm-d4207ba0f6d5f110f5d0def0d1f675c6a3b05668.zip
[WebAssembly] Stackify code emitted by eliminateFrameIndex and SP writeback
Summary: MRI::eliminateFrameIndex can emit several instructions to do address calculations; these can usually be stackified. Because instructions with FI operands can have subsequent operands which may be expression trees, find the top of the leftmost tree and insert the code before it, to keep the LIFO property. Also use stackified registers when writing back the SP value to memory in the epilog; it's unnecessary because SP will not be used after the epilog, and it results in better code. Differential Revision: http://reviews.llvm.org/D18234 llvm-svn: 263725
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll')
-rw-r--r--llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll b/llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll
index 2c097849dd2..f71903c6eb2 100644
--- a/llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll
+++ b/llvm/test/CodeGen/WebAssembly/mem-intrinsics.ll
@@ -61,8 +61,8 @@ define void @set_no(i8* %dst, i8 %src, i32 %len) {
; CHECK-LABEL: frame_index:
-; CHECK: i32.call $discard=, memset@FUNCTION, $0, $pop1, $pop0{{$}}
-; CHECK: i32.call $discard=, memset@FUNCTION, $1, $pop3, $pop2{{$}}
+; CHECK: i32.call $discard=, memset@FUNCTION, $pop12, $pop1, $pop0{{$}}
+; CHECK: i32.call $discard=, memset@FUNCTION, $0, $pop3, $pop2{{$}}
; CHECK: return{{$}}
define void @frame_index() {
entry:
OpenPOWER on IntegriCloud