hanchenye-llvm-project/lld/wasm
Thomas Lively f3b4f99007 [WebAssembly] Remove uses of ThreadModel
Summary:
In the clang UI, replaces -mthread-model posix with -matomics as the
source of truth on threading. In the backend, replaces
-thread-model=posix with the atomics target feature, which is now
collected on the WebAssemblyTargetMachine along with all other used
features. These collected features will also be used to emit the
target features section in the future.

The default configuration for the backend is thread-model=posix and no
atomics, which was previously an invalid configuration. This change
makes the default valid because the thread model is ignored.

A side effect of this change is that objects are never emitted with
passive segments. It will instead be up to the linker to decide
whether sections should be active or passive based on whether atomics
are used in the final link.

Reviewers: aheejin, sbc100, dschuff

Subscribers: mehdi_amini, jgravelle-google, hiraditya, sunfish, steven_wu, dexonsmith, rupprecht, jfb, jdoerfert, cfe-commits, llvm-commits

Tags: #clang, #llvm

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

llvm-svn: 355112
2019-02-28 18:39:08 +00:00
..
CMakeLists.txt [WebAssembly] Fix broken build due to missing attributes.inc 2018-06-13 08:38:23 +00:00
Config.h [WebAssembly] Implement --trace and --trace-symbol 2019-02-06 02:35:18 +00:00
Driver.cpp [WebAssembly] Don't generate invalid modules when function signatures mismatch 2019-02-20 23:19:31 +00:00
InputChunks.cpp [WebAssembly] clang-tidy (NFC) 2019-02-04 19:13:46 +00:00
InputChunks.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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 imported function symbol names that differ from their import names in the .o format 2019-02-07 22:00:48 +00:00
InputFiles.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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 [WebAssembly] Remove uses of ThreadModel 2019-02-28 18:39:08 +00:00
LTO.h [WebAssembly] Support imports from custom module names 2019-02-01 02:29:57 +00:00
MarkLive.cpp [WebAssembly] clang-tidy (NFC) 2019-02-04 19:13:46 +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] Implement --trace and --trace-symbol 2019-02-06 02:35:18 +00:00
OutputSections.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OutputSections.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OutputSegment.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolTable.cpp [WebAssembly] Remove redundant code added in rL354538. NFC. 2019-02-21 01:33:26 +00:00
SymbolTable.h [WebAssembly] Don't generate invalid modules when function signatures mismatch 2019-02-20 23:19:31 +00:00
Symbols.cpp [WebAssembly] Don't generate invalid modules when function signatures mismatch 2019-02-20 23:19:31 +00:00
Symbols.h [WebAssembly] Don't generate invalid modules when function signatures mismatch 2019-02-20 23:19:31 +00:00
Writer.cpp [WebAssembly] Fix imported function symbol names that differ from their import names in the .o format 2019-02-07 22:00:48 +00:00
Writer.h [WebAssembly] clang-tidy (NFC) 2019-02-04 19:13:46 +00:00
WriterUtils.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +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