diff options
author | Andrew Brown <andrew.brown@intel.com> | 2023-12-14 11:48:01 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-14 13:48:01 -0600 |
commit | 68ea91dd8b506764c0a89e9220cfcefcf3790973 (patch) | |
tree | 6a4066db9380b114556f541b12513ace5ef619f9 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 36477f7562c0f951bcfe3df5ae7a566e6e462dd1 (diff) | |
download | llvm-68ea91dd8b506764c0a89e9220cfcefcf3790973.zip llvm-68ea91dd8b506764c0a89e9220cfcefcf3790973.tar.gz llvm-68ea91dd8b506764c0a89e9220cfcefcf3790973.tar.bz2 |
[openmp][wasm] Allow compiling OpenMP to WebAssembly (#71297)
This change allows building the static OpenMP runtime, `libomp.a`, as
WebAssembly. It builds on the work done in [D142593] but goes further in
several ways:
- it makes the OpenMP CMake files more WebAssembly-aware
- it conditions much more code (or code that had been refactored since
[D142593]) for `KMP_ARCH_WASM` and `KMP_OS_WASI`
- it fixes a Clang crash due to unimplemented common symbols in
WebAssembly
The commit messages have more details. Please understand this PR as a
start, not the completed work, for WebAssembly support in OpenMP.
Getting the tests running somehow would be a good next step, e.g.; but
what is contained here works, at least with recent versions of
[wasi-sdk] and engines that support [wasi-threads]. I suspect the same
is true for Emscripten and browsers, but I have not tested that
workflow.
[D142593]: https://reviews.llvm.org/D142593
[wasi-sdk]: https://github.com/WebAssembly/wasi-sdk
[wasi-threads]: https://github.com/WebAssembly/wasi-threads
---------
Co-authored-by: Atanas Atanasov <atanas.atanasov@intel.com>
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions