]> granicus.if.org Git - llvm/commit
[WebAssembly] Emit a BasePointer when we have overly-aligned stack objects
authorDerek Schuff <dschuff@google.com>
Mon, 7 Nov 2016 22:00:48 +0000 (22:00 +0000)
committerDerek Schuff <dschuff@google.com>
Mon, 7 Nov 2016 22:00:48 +0000 (22:00 +0000)
commit9ebd8435df77d9d259a3e9abb38ab01a6f5a45ca
tree6f4d74fff41ec9cd81622dc2d87e42d6a4055e80
parentcc1ad89bbb4f0b720e0c07714109f628e6cb8106
[WebAssembly] Emit a BasePointer when we have overly-aligned stack objects

Because we shift the stack pointer by an unknown amount, we need an
additional pointer. In the case where we have variable-size objects
as well, we can't reuse the frame pointer, thus three pointers.

Patch by Jacob Gravelle

Differential Revision: https://reviews.llvm.org/D26263

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286160 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
lib/Target/WebAssembly/WebAssemblyFrameLowering.h
lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
test/CodeGen/WebAssembly/stack-alignment.ll [new file with mode: 0644]