llvm-project/lld/wasm
Thomas Lively 6004d9a13d [WebAssembly] Add option to emit passive segments
Summary:
Adds `--passive-segments` and `--active-segments` flags to control
what kind of segments are emitted. For now the default is always
to emit active segments so this is not a breaking change, but in
the future the default will be changed to passive segments when
shared memory is requested and active segments otherwise. When
passive segments are emitted, corresponding memory.init and
data.drop instructions are emitted in a `__wasm_init_memory`
function that is automatically called at the beginning of
`__wasm_call_ctors`.

Reviewers: sbc100, aheejin, dschuff

Subscribers: azakai, dschuff, jgravelle-google, sunfish, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59343

llvm-svn: 365088
2019-07-03 22:04:54 +00:00
..
CMakeLists.txt [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
Config.h [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
Driver.cpp [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
InputChunks.cpp [WebAssembly] Fix list of relocations with addends in lld 2019-06-26 00:52:42 +00:00
InputChunks.h [WebAssembly] Fix for discarded init functions 2019-06-07 06:00:46 +00:00
InputEvent.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InputFiles.cpp [WebAssembly] Fix accidental omission from rLLD364367 2019-06-26 01:26:53 +00:00
InputFiles.h [WebAssembly] Handle object parsing more like the ELF backend 2019-06-05 17:50:45 +00:00
InputGlobal.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LTO.cpp [WebAssebmly] Add support for --wrap 2019-05-24 14:14:25 +00:00
LTO.h [WebAssembly] Support imports from custom module names 2019-02-01 02:29:57 +00:00
MarkLive.cpp [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
MarkLive.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Options.td [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
OutputSections.cpp [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
OutputSections.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
OutputSegment.h [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
Relocations.cpp [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
Relocations.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
SymbolTable.cpp [WebAssembly] Handle object parsing more like the ELF backend 2019-06-05 17:50:45 +00:00
SymbolTable.h [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
Symbols.cpp [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
Symbols.h [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
SyntheticSections.cpp [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
SyntheticSections.h [WebAssembly] Add support for -emit-relocs 2019-05-24 13:28:27 +00:00
Writer.cpp [WebAssembly] Add option to emit passive segments 2019-07-03 22:04:54 +00:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [wasm] Simplify. NFC 2019-04-18 13:33:29 +00:00
WriterUtils.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00