diff options
author | Derek Schuff <dschuff@google.com> | 2015-12-16 20:43:06 +0000 |
---|---|---|
committer | Derek Schuff <dschuff@google.com> | 2015-12-16 20:43:06 +0000 |
commit | 45cd5a79b24ea75b4d746eae53d3eb8f84a63c2e (patch) | |
tree | 8cea782c6d15015e01ba2abfc2f5e2162ec86d90 /llvm/lib | |
parent | ce7fc179703231b8b2bab0aa696704027ce108dd (diff) | |
download | bcm5719-llvm-45cd5a79b24ea75b4d746eae53d3eb8f84a63c2e.tar.gz bcm5719-llvm-45cd5a79b24ea75b4d746eae53d3eb8f84a63c2e.zip |
[WebAssembly] Print an extra local decl when the user stack pointer is used
Differential Revision: http://reviews.llvm.org/D15546
llvm-svn: 255815
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp index 079c864c7bc..e853b76d0dd 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp @@ -26,6 +26,7 @@ #include "llvm/CodeGen/Analysis.h" #include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/MachineConstantPool.h" +#include "llvm/CodeGen/MachineFrameInfo.h" #include "llvm/CodeGen/MachineInstr.h" #include "llvm/IR/DataLayout.h" #include "llvm/MC/MCContext.h" @@ -181,6 +182,11 @@ void WebAssemblyAsmPrinter::EmitFunctionBodyStart() { Local.addOperand(MCOperand::createImm(getRegType(VReg).SimpleTy)); AnyWARegs = true; } + if (MF->getFrameInfo()->getStackSize() > 0) { + // TODO: wasm64 + Local.addOperand(MCOperand::createImm(MVT::i32)); + AnyWARegs = true; + } if (AnyWARegs) EmitToStreamer(*OutStreamer, Local); |