diff options
author | Derek Schuff <dschuff@google.com> | 2016-02-20 22:18:47 +0000 |
---|---|---|
committer | Derek Schuff <dschuff@google.com> | 2016-02-20 22:18:47 +0000 |
commit | 90dbb8cfc3617ce72a3b27282ba9f5fdaf79880e (patch) | |
tree | fa324dacd03990f92692bfd2bd6e681d752b4485 /llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp | |
parent | dc5f6aa4bb3dccbee230a10d3cf26294c5093dfe (diff) | |
download | llvm-90dbb8cfc3617ce72a3b27282ba9f5fdaf79880e.zip llvm-90dbb8cfc3617ce72a3b27282ba9f5fdaf79880e.tar.gz llvm-90dbb8cfc3617ce72a3b27282ba9f5fdaf79880e.tar.bz2 |
[WebAssembly] Write stack pointer back to memory when FP is used
The stack pointer is bumped when there is a frame pointer or when there
are static-size objects, but was only getting written back when there
were static-size objects.
llvm-svn: 261453
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp index 0e0cac4..cbf59d1 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp @@ -125,7 +125,7 @@ void WebAssemblyFrameLowering::emitPrologue(MachineFunction &MF, WebAssembly::FP32) .addReg(WebAssembly::SP32); } - if (StackSize) { + if (StackSize || hasFP(MF)) { SPAddr = MRI.createVirtualRegister(&WebAssembly::I32RegClass); // The SP32 register now has the new stacktop. Also write it back to memory. BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), SPAddr) |