From c2c997718d2679131c98f134510c973ad97de268 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Tue, 5 Dec 2017 17:23:43 +0000 Subject: [WebAssembly] Implement WASM_STACK_POINTER. Use the .stack_pointer directive to implement WASM_STACK_POINTER for specifying a global variable to be the stack pointer. llvm-svn: 319797 --- llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp') diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp index 5f7f3d694cd..1d606d49bed 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp @@ -78,6 +78,10 @@ WebAssemblyTargetStreamer *WebAssemblyAsmPrinter::getTargetStreamer() { //===----------------------------------------------------------------------===// void WebAssemblyAsmPrinter::EmitEndOfAsmFile(Module &M) { + // Declare the stack pointer. + getTargetStreamer()->emitStackPointer( + GetExternalSymbolSymbol("__stack_pointer")); + for (const auto &F : M) { // Emit function type info for all undefined functions if (F.isDeclarationForLinker() && !F.isIntrinsic()) { -- cgit v1.2.3