[all-commits] [llvm/llvm-project] 28780e: [WebAssembly] Add Wasm SjLj support
Heejin Ahn via All-commits
all-commits at lists.llvm.org
Thu Sep 2 10:51:43 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 28780e59f61537c4315581475697e96d94d73d48
https://github.com/llvm/llvm-project/commit/28780e59f61537c4315581475697e96d94d73d48
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2021-09-02 (Thu, 02 Sep 2021)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/WasmException.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
A llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
Log Message:
-----------
[WebAssembly] Add Wasm SjLj support
This add support for SjLj using Wasm exception handling instructions:
https://github.com/WebAssembly/exception-handling/blob/master/proposals/exception-handling/Exceptions.md
This does not yet support the mixed use of EH and SjLj within a
function. It will be added in a follow-up CL.
This currently passes all SjLj Emscripten tests for wasm0/1/2/3/s,
except for the below:
- `test_longjmp_standalone`: Uses Node
- `test_dlfcn_longjmp`: Uses NodeRAWFS
- `test_longjmp_throw`: Mixes EH and SjLj
- `test_exceptions_longjmp1`: Mixes EH and SjLj
- `test_exceptions_longjmp2`: Mixes EH and SjLj
- `test_exceptions_longjmp3`: Mixes EH and SjLj
Reviewed By: dschuff, tlively
Differential Revision: https://reviews.llvm.org/D108960
More information about the All-commits
mailing list