llvm-project/lld/wasm
Reid Kleckner 932f0276ea [Support] Move LLD's parallel algorithm wrappers to support
Essentially takes the lld/Common/Threads.h wrappers and moves them to
the llvm/Support/Paralle.h algorithm header.

The changes are:
- Remove policy parameter, since all clients use `par`.
- Rename the methods to `parallelSort` etc to match LLVM style, since
  they are no longer C++17 pstl compatible.
- Move algorithms from llvm::parallel:: to llvm::, since they have
  "parallel" in the name and are no longer overloads of the regular
  algorithms.
- Add range overloads
- Use the sequential algorithm directly when 1 thread is requested
  (skips task grouping)
- Fix the index type of parallelForEachN to size_t. Nobody in LLVM was
  using any other parameter, and it made overload resolution hard for
  for_each_n(par, 0, foo.size(), ...) because 0 is int, not size_t.

Remove Threads.h and update LLD for that.

This is a prerequisite for parallel public symbol processing in the PDB
library, which is in LLVM.

Reviewed By: MaskRay, aganea

Differential Revision: https://reviews.llvm.org/D79390
2020-05-05 15:21:05 -07:00
..
CMakeLists.txt [ThinLTO] Pass CodeGenOpts like UnrollLoops/VectorizeLoop/VectorizeSLP 2020-01-09 21:13:11 -08:00
Config.h [lld][WebAssembly] Handle 4gb max memories 2020-04-09 13:06:41 -07:00
Driver.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
InputChunks.cpp [WebAssembly] Fix faulty logic in verifyRelocTargets 2020-04-16 18:19:56 -07:00
InputChunks.h [WebAssembly] Support wasm exports with zero-length names. 2020-03-26 16:20:43 -07:00
InputEvent.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputFiles.cpp [WebAssembly] Add int32 DW_OP_WASM_location variant 2020-04-16 16:32:17 -07:00
InputFiles.h [lld][WebAssembly] Fail if bitcode objects are pulled in after LTO 2020-02-11 17:36:15 -08:00
InputGlobal.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
LTO.cpp [ThinLTO] Allow usage of all hardware threads in the system 2020-03-27 10:20:58 -04:00
LTO.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp [lld][WebAssembly] Refactor markLive.cpp. NFC 2019-10-10 03:23:06 +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 [lld][COFF][ELF][WebAssembly] Replace --[no-]threads /threads[:no] with --threads={1,2,...} /threads:{1,2,...} 2020-03-31 08:46:12 -07:00
OutputSections.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
OutputSections.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
OutputSegment.h [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
Relocations.cpp [WebAssembly] Add int32 DW_OP_WASM_location variant 2020-04-16 16:32:17 -07:00
Relocations.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
SymbolTable.cpp [lld][WebAssembly] Fix crash on function signature mismatch with --relocatable 2020-04-25 10:26:11 -07:00
SymbolTable.h [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
Symbols.cpp [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
Symbols.h [lld] NFC: fix trivial typos in comments 2020-04-02 01:21:36 +09:00
SyntheticSections.cpp [WebAssembly] Move event section before global section 2020-03-25 11:49:03 -07:00
SyntheticSections.h [WebAssembly] Move event section before global section 2020-03-25 11:49:03 -07:00
Writer.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
Writer.h [WebAssembly] Refactor synthetic sections and relocation processing. NFC. 2019-05-21 09:13:09 +00:00
WriterUtils.cpp [WebAssmebly] Add support for defined wasm globals in MC and lld 2020-04-30 12:43:15 -07:00
WriterUtils.h [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00