summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@google.com>2016-12-01 00:11:15 +0000
committerDerek Schuff <dschuff@google.com>2016-12-01 00:11:15 +0000
commit7747d703e3c21ed2d16ba88382b8fb57389e085a (patch)
tree815a2902d55a838231949ddffbb9fd702c46fdff /llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
parentdba63a7e5c935506ac6f943c8592f773dcee4ea6 (diff)
downloadbcm5719-llvm-7747d703e3c21ed2d16ba88382b8fb57389e085a.tar.gz
bcm5719-llvm-7747d703e3c21ed2d16ba88382b8fb57389e085a.zip
[WebAssembly] Emit .import_global assembler directives
Support a new assembler directive, .import_global, to declare imported global variables (i.e. those with external linkage and no initializer). The linker turns these into wasm imports. Patch by Jacob Gravelle Differential Revision: https://reviews.llvm.org/D26875 llvm-svn: 288296
Diffstat (limited to 'llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
index f0886880802..3cee8b2a184 100644
--- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
+++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp
@@ -80,6 +80,10 @@ void WebAssemblyTargetAsmStreamer::emitIndirectFunctionType(
OS << '\n';
}
+void WebAssemblyTargetAsmStreamer::emitGlobalImport(StringRef name) {
+ OS << "\t.import_global\t" << name << '\n';
+}
+
void WebAssemblyTargetAsmStreamer::emitIndIdx(const MCExpr *Value) {
OS << "\t.indidx \t" << *Value << '\n';
}
@@ -111,3 +115,6 @@ void WebAssemblyTargetELFStreamer::emitIndirectFunctionType(
// Nothing to emit here. TODO: Re-design how linking works and re-evaluate
// whether it's necessary for .o files to declare indirect function types.
}
+
+void WebAssemblyTargetELFStreamer::emitGlobalImport(StringRef name) {
+} \ No newline at end of file
OpenPOWER on IntegriCloud