summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
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.h
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.h')
-rw-r--r--llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
index cf164ca5924..23ac3190243 100644
--- a/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
+++ b/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
@@ -45,6 +45,8 @@ public:
}
/// .indidx
virtual void emitIndIdx(const MCExpr *Value) = 0;
+ /// .import_global
+ virtual void emitGlobalImport(StringRef name) = 0;
};
/// This part is for ascii assembly output
@@ -62,6 +64,7 @@ public:
SmallVectorImpl<MVT> &Params,
SmallVectorImpl<MVT> &Results) override;
void emitIndIdx(const MCExpr *Value) override;
+ void emitGlobalImport(StringRef name) override;
};
/// This part is for ELF object output
@@ -77,6 +80,7 @@ public:
SmallVectorImpl<MVT> &Params,
SmallVectorImpl<MVT> &Results) override;
void emitIndIdx(const MCExpr *Value) override;
+ void emitGlobalImport(StringRef name) override;
};
} // end namespace llvm
OpenPOWER on IntegriCloud