diff options
author | Dan Gohman <dan433584@gmail.com> | 2017-12-05 17:23:43 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2017-12-05 17:23:43 +0000 |
commit | c2c997718d2679131c98f134510c973ad97de268 (patch) | |
tree | 195ce74f3908622838f2583eee821a62864360e9 /llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | |
parent | f7172f4ab095c641c36ce205d6c7e965b2b5b67c (diff) | |
download | bcm5719-llvm-c2c997718d2679131c98f134510c973ad97de268.tar.gz bcm5719-llvm-c2c997718d2679131c98f134510c973ad97de268.zip |
[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
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
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()) { |