diff options
author | Derek Schuff <dschuff@google.com> | 2016-11-07 22:00:48 +0000 |
---|---|---|
committer | Derek Schuff <dschuff@google.com> | 2016-11-07 22:00:48 +0000 |
commit | 0d41b7b3f3e41442992b605923ff4f0f3a26ce85 (patch) | |
tree | bd906182aa74c5b69eb86c155f5c37a83a026ce7 /llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h | |
parent | d74e1e161dc67c5369df776e2300be365ddd5e90 (diff) | |
download | bcm5719-llvm-0d41b7b3f3e41442992b605923ff4f0f3a26ce85.tar.gz bcm5719-llvm-0d41b7b3f3e41442992b605923ff4f0f3a26ce85.zip |
[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
llvm-svn: 286160
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h b/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h index e20fc5df744..bf326fce88f 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h +++ b/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h @@ -46,6 +46,7 @@ class WebAssemblyFrameLowering final : public TargetFrameLowering { bool hasReservedCallFrame(const MachineFunction &MF) const override; private: + bool hasBP(const MachineFunction &MF) const; bool needsSP(const MachineFunction &MF, const MachineFrameInfo &MFI) const; bool needsSPWriteback(const MachineFunction &MF, const MachineFrameInfo &MFI) const; |