diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-05-24 23:47:41 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-05-24 23:47:41 +0000 |
commit | d530f68d4572fe30f24353e2e3f7b26a54f2f994 (patch) | |
tree | ff1ebe39747426c0bb9336968105501db2e44406 /llvm/test/CodeGen/WebAssembly/reg-stackify.ll | |
parent | a9f38983e805b2894aa7838685fe59a1c8527128 (diff) | |
download | bcm5719-llvm-d530f68d4572fe30f24353e2e3f7b26a54f2f994.tar.gz bcm5719-llvm-d530f68d4572fe30f24353e2e3f7b26a54f2f994.zip |
[WebAssembly] Put __stack_pointer in the offset field of loads and stores.
Instead of this:
i32.const $push10=, __stack_pointer
i32.load $push11=, 0($pop10)
Emit this:
i32.const $push10=, 0
i32.load $push11=, __stack_pointer($pop10)
It's not currently clear which is better, though there's a chance the second
form may be better at overall compression. We can revisit this when we have
more data; for now it makes sense to make PEI consistent with isel.
Differential Revision: http://reviews.llvm.org/D20411
llvm-svn: 270635
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/reg-stackify.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/reg-stackify.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/reg-stackify.ll b/llvm/test/CodeGen/WebAssembly/reg-stackify.ll index 2f70a561fee..23cbd03aa08 100644 --- a/llvm/test/CodeGen/WebAssembly/reg-stackify.ll +++ b/llvm/test/CodeGen/WebAssembly/reg-stackify.ll @@ -449,8 +449,8 @@ bb10: ; preds = %bb9, %bb ; CHECK-LABEL: stackpointer_dependency: ; CHECK: call {{.+}}, stackpointer_callee@FUNCTION, -; CHECK: i32.const $push[[L0:.+]]=, __stack_pointer -; CHECK-NEXT: i32.store $drop=, 0($pop[[L0]]), +; CHECK: i32.const $push[[L0:.+]]=, 0 +; CHECK-NEXT: i32.store $drop=, __stack_pointer($pop[[L0]]), declare i32 @stackpointer_callee(i8* readnone, i8* readnone) declare i8* @llvm.frameaddress(i32) define i32 @stackpointer_dependency(i8* readnone) { |