[clang] [llvm] [WebAssembly] Implement an alternative translation for -wasm-enable-sjlj (PR #84137)
YAMAMOTO Takashi via cfe-commits
cfe-commits at lists.llvm.org
Sun Mar 10 18:08:38 PDT 2024
================
@@ -999,25 +1017,43 @@ bool WebAssemblyLowerEmscriptenEHSjLj::runOnModule(Module &M) {
// Register __wasm_longjmp function, which calls __builtin_wasm_longjmp.
FunctionType *FTy = FunctionType::get(
IRB.getVoidTy(), {Int8PtrTy, IRB.getInt32Ty()}, false);
- WasmLongjmpF = getEmscriptenFunction(FTy, "__wasm_longjmp", &M);
+ if (EnableWasmAltSjLj) {
+ WasmLongjmpF = getEmscriptenFunction(FTy, "__wasm_sjlj_longjmp", &M);
----------------
yamt wrote:
i wanted to have a common prefix for this set of api. (`__wasm_sjlj_`)
what's your suggestion for `testSetjmp`?
```
saveSetjmp -> __wasm_setjmp?
testSetjmp -> ???
getTempRet0 -> (removed)
__wasm_longjmp -> keep it
```
https://github.com/llvm/llvm-project/pull/84137
More information about the cfe-commits
mailing list