llvm-project/lld/test/wasm
Alexandre Ganea 09158252f7 [ThinLTO] Allow usage of all hardware threads in the system
Before this patch, it wasn't possible to extend the ThinLTO threads to all SMT/CMT threads in the system. Only one thread per core was allowed, instructed by usage of llvm::heavyweight_hardware_concurrency() in the ThinLTO code. Any number passed to the LLD flag /opt:lldltojobs=..., or any other ThinLTO-specific flag, was previously interpreted in the context of llvm::heavyweight_hardware_concurrency(), which means SMT disabled.

One can now say in LLD:
/opt:lldltojobs=0 -- Use one std::thread / hardware core in the system (no SMT). Default value if flag not specified.
/opt:lldltojobs=N -- Limit usage to N threads, regardless of usage of heavyweight_hardware_concurrency().
/opt:lldltojobs=all -- Use all hardware threads in the system. Equivalent to /opt:lldltojobs=$(nproc) on Linux and /opt:lldltojobs=%NUMBER_OF_PROCESSORS% on Windows. When an affinity mask is set for the process, threads will be created only for the cores selected by the mask.

When N > number-of-hardware-threads-in-the-system, the threads in the thread pool will be dispatched equally on all CPU sockets (tested only on Windows).
When N <= number-of-hardware-threads-on-a-CPU-socket, the threads will remain on the CPU socket where the process started (only on Windows).

Differential Revision: https://reviews.llvm.org/D75153
2020-03-27 10:20:58 -04:00
..
Inputs [lld][WebAssembly] Handle mixed strong and weak undefined symbols 2020-02-28 10:16:10 -08:00
lto [ThinLTO] Allow usage of all hardware threads in the system 2020-03-27 10:20:58 -04:00
alias.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
archive-export.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
archive-no-index.ll [WebAssembly] Error on archives without a symbol index 2019-06-25 17:49:35 +00:00
archive-weak-undefined.ll [lld][WebAssembly] Fix for weak references to data symbols in archives 2019-10-17 03:21:02 +00:00
archive.ll [WebAssembly] Ensure ArchiveName is set even in the presence of --whole-archive. 2019-04-09 05:41:52 +00:00
bss-only.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
call-indirect.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
comdats.ll [lld][WebAssembly] Fix handling of comdat functions in init array. 2019-07-17 18:43:36 +00:00
compress-relocs.ll [WebAssembly] Add --[no]-export-dynamic to replace --export-default 2018-09-27 21:06:25 +00:00
conflict.test [WebAssembly] Check function signatures by default 2018-05-05 01:23:07 +00:00
corrupted.wasm.test [lld/WebAssembly] Slightly nicer error message for malformed input files 2019-06-26 00:52:46 +00:00
custom-section-name.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
custom-sections.ll [WebAssembly] Remove final -wasm component of target triple. NFC. 2018-05-10 17:59:41 +00:00
cxx-mangling.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
data-layout.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
data-segment-merging.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
data-segments.ll [WebAssembly] Elide data segments for .bss sections 2019-10-15 19:05:11 +00:00
debug-removed-fn.ll [lld][Wasm] Wasm-ld emits invalid .debug_ranges entries for non-live symbols 2020-03-26 14:26:31 -07:00
debuginfo-relocs.s [WebAssembly][lld] Fix crash when applying relocations to debug sections 2019-08-20 18:39:24 +00:00
debuginfo.test [WebAssembly] Track frame registers through VReg and local allocation 2020-01-17 17:23:56 -08:00
demangle.ll [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
driver.ll [WebAssembly] Remove final -wasm component of target triple. NFC. 2018-05-10 17:59:41 +00:00
emit-relocs-fpic.s [WebAssembly] Fix list of relocations with addends in lld 2019-06-26 00:52:42 +00:00
emit-relocs.ll [WebAssembly] Add support for -emit-relocs 2019-05-24 13:28:27 +00:00
entry-signature.ll [WebAssembly] Allow signautre of entry function to be flexible 2018-05-14 23:01:16 +00:00
entry.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
event-section.ll [WebAssembly] Add test for event section order change 2020-03-26 11:05:24 -07:00
export-all.ll [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
export-name.ll [WebAssembly] Support wasm exports with zero-length names. 2020-03-26 16:20:43 -07:00
export-optional-lazy.ll [lld] Fix trivial typos in comments 2020-01-06 10:25:48 -08:00
export-table.test [WebAssembly] Instruction renaming 2019-01-08 06:25:55 +00:00
export.ll [WebAssembly] Implement NO_STRIP 2019-08-29 22:41:05 +00:00
fatal-warnings.ll [WebAssembly] Use wasm-ld rather than lld with -flavor in tests. NFC. 2019-02-05 16:53:33 +00:00
function-imports-first.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
function-imports.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
function-index.test [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
gc-imports.ll [WebAssebmly] Allow __wasm_call_ctors to be GC'ed 2019-03-01 22:35:47 +00:00
gc-sections.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
global-base.test [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
growable-table.test [lld][WebAssembly] Support for growable tables 2019-08-27 22:58:21 +00:00
import-attribute-mismatch.ll [lld][WebAssebmly] Preserve custom import attributes with LTO 2019-10-17 05:16:54 +00:00
import-memory.test [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
import-module.ll [WebAssembly] Support imports from custom module names 2019-02-01 02:29:57 +00:00
import-name.ll [lld][WebAssembly] Allow symbols with explict import names to be undefined at link time. 2020-02-19 18:02:49 -08:00
import-table.test [WebAssembly] Instruction renaming 2019-01-08 06:25:55 +00:00
init-fini-gc.ll [WebAssembly] Fix crash when __wasm_call_ctor is GCd in programs containing static init/fini 2019-03-02 04:55:02 +00:00
init-fini.ll [WebAssembly] Test change after disabling MachineBlockPlacement 2019-03-05 20:36:20 +00:00
invalid-stack-size.test [WebAssembly] Check function signatures by default 2018-05-05 01:23:07 +00:00
large-memory.test [lld] Allow args::getInterger to parse args larger than 2^31-1 2019-06-07 06:05:26 +00:00
lit.local.cfg [WebAssembly] Fix list of relocations with addends in lld 2019-06-26 00:52:42 +00:00
load-undefined.test [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
local-symbols.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
locals-duplicate.test [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
many-functions.ll [WebAssembly] Update MC for bulk memory 2019-02-19 22:56:19 +00:00
no-tls.test [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
optional-symbol.ll [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
pic-static.ll [WebAssembly][lld] Fix for static linking of PIC code 2019-10-29 18:58:56 -07:00
pie.ll [WebAssembly] Import __stack_pointer when building -pie binaries 2019-07-11 13:13:25 +00:00
reloc-addend.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
relocatable.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
reproduce.ll Fix test to put its outputs into the temp directory. 2019-05-21 19:41:19 +00:00
responsefile.test [lld][WebAssembly] Add support for --rsp-quoting 2020-03-04 11:41:33 -08:00
section-symbol-relocs.yaml [WebAssembly] Don't generate empty type sections. 2019-05-16 21:22:43 +00:00
shared-export-dynamic.ll [lld][WebAssembly] Honor --no-export-dynamic even with -shared 2019-08-19 16:34:51 +00:00
shared-memory-no-atomics.yaml [WebAssembly] Improve feature validation error messages 2019-05-30 21:57:23 +00:00
shared-memory.yaml [WebAssembly] Initialize memory in start function 2019-09-04 19:50:39 +00:00
shared-needed.ll [WebAssembly] Improve support for "needed" list in dylink section 2019-03-13 21:29:20 +00:00
shared.ll [WebAssembly] Use Emscripten triples in PIC tests. 2019-06-05 20:59:20 +00:00
signature-mismatch-export.ll [lld][WebAssembly] Use a more meaningful name for stub functions 2020-01-16 14:55:37 -08:00
signature-mismatch-unknown.ll [lld] Fix trivial typos in comments 2020-01-06 10:25:48 -08:00
signature-mismatch-weak.ll [WebAssembly] Remove duplicate function. NFC. 2018-11-01 01:08:37 +00:00
signature-mismatch.ll [lld][WebAssembly] Use a more meaningful name for stub functions 2020-01-16 14:55:37 -08:00
stack-first.test [lld][WebAssembly] Add optional symbols after input file handling 2019-08-08 16:58:36 +00:00
stack-pointer.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
startstop.ll [lld][WebAssembly] Fix __start/__stop symbols when combining input segments 2019-07-08 10:35:08 +00:00
strip-all.test [WedAssembly] Add -s and -S alias for --strip-all and --strip-debug 2018-10-31 19:30:43 +00:00
strip-debug.test [WedAssembly] Add -s and -S alias for --strip-all and --strip-debug 2018-10-31 19:30:43 +00:00
symbol-type-mismatch.ll [WebAssembly] Update to match llvm changes 2018-05-14 22:42:33 +00:00
target-feature-disallowed.yaml [LLD] Restore tests that use "-" as output 2019-03-27 15:30:52 +00:00
target-feature-none.yaml [LLD] Restore tests that use "-" as output 2019-03-27 15:30:52 +00:00
target-feature-required.yaml [WebAssembly] Improve feature validation error messages 2019-05-30 21:57:23 +00:00
target-feature-used.yaml [WebAssembly] Improve feature validation error messages 2019-05-30 21:57:23 +00:00
tls-align.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
tls.ll [WebAssembly] Sort output data sections to place .bss last 2019-09-19 01:14:59 +00:00
trace-symbol.ll [lld] Trace all references with lld --trace-symbol 2019-05-24 13:29:17 +00:00
trace.test [wasm-ld] Fix wasm trace test to use %t for temporary files. 2019-02-06 04:49:46 +00:00
undefined-data.ll [lld][WebAssembly] Report undefined symbols during scanRelocations 2019-07-09 20:45:20 +00:00
undefined-entry.test [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
undefined-weak-call.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
undefined.ll [lld][WebAssembly] Report undefined symbols during scanRelocations 2019-07-09 20:45:20 +00:00
version.ll [test] Change llvm-readobj -long-option to --long-option or well-known short options. NFC 2019-05-01 05:49:01 +00:00
visibility-hidden.ll [WebAssembly] Don't export __data_end and __heap_base by default. 2019-05-31 22:51:59 +00:00
weak-alias-overide.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
weak-alias.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
weak-and-strong-undef.s [lld][WebAssembly] Handle mixed strong and weak undefined symbols 2020-02-28 10:16:10 -08:00
weak-symbols.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
weak-undefined.ll [WebAssembly] Allow multivalue signatures in object files 2019-10-18 20:27:30 +00:00
whole-archive.test [WebAssembly] Add support for --whole-archive. 2018-07-23 23:51:19 +00:00
wrap.ll [WebAssebmly] Add support for --wrap 2019-05-24 14:14:25 +00:00