summaryrefslogtreecommitdiffstats
path: root/lld/wasm/SyntheticSections.h
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2019-10-15 19:05:11 +0000
committerThomas Lively <tlively@google.com>2019-10-15 19:05:11 +0000
commit190dacc3cc206fa90a44e2f4aa6b56c327d1942a (patch)
treec6efda90caff32ebc4ad49c538b1bf2a020d2aa6 /lld/wasm/SyntheticSections.h
parent0330fba6e16db9b5d2079313646f93485c5ccf39 (diff)
downloadbcm5719-llvm-190dacc3cc206fa90a44e2f4aa6b56c327d1942a.tar.gz
bcm5719-llvm-190dacc3cc206fa90a44e2f4aa6b56c327d1942a.zip
[WebAssembly] Elide data segments for .bss sections
Summary: WebAssembly memories are zero-initialized, so when module does not import its memory initializing .bss sections is guaranteed to be a no-op. To reduce binary size and initialization time, .bss sections are simply not emitted into the final binary unless the memory is imported. Reviewers: sbc100 Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68965 llvm-svn: 374940
Diffstat (limited to 'lld/wasm/SyntheticSections.h')
-rw-r--r--lld/wasm/SyntheticSections.h4
1 files changed, 1 insertions, 3 deletions
diff --git a/lld/wasm/SyntheticSections.h b/lld/wasm/SyntheticSections.h
index 1557ce79d2d..23f9711dec1 100644
--- a/lld/wasm/SyntheticSections.h
+++ b/lld/wasm/SyntheticSections.h
@@ -250,9 +250,7 @@ protected:
class DataCountSection : public SyntheticSection {
public:
- DataCountSection(uint32_t numSegments)
- : SyntheticSection(llvm::wasm::WASM_SEC_DATACOUNT),
- numSegments(numSegments) {}
+ DataCountSection(ArrayRef<OutputSegment *> segments);
bool isNeeded() const override;
void writeBody() override;
OpenPOWER on IntegriCloud