[llvm] [WebAssembly] Add assembly support for final EH proposal (PR #107917)

Heejin Ahn via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 10 14:21:51 PDT 2024


================
@@ -147,6 +178,8 @@ let isTerminator = 1, hasSideEffects = 1, isBarrier = 1, hasCtrlDep = 1,
 // usage gets low enough.
 
 // Rethrowing an exception: rethrow
+// The new exnref proposal also uses this instruction as an interim pseudo
----------------
aheejin wrote:

No it happens to be more convenient too. Until we match instructions (`llvm.wasm.rethrow` intrinsic or `cleanupret`) that later becomes `throw_ref` with the corresponding EH pad and its `catch_***` instruction, which happens in LateEHPrepare, we need a way to express "rethrow". If we really want to avoid the use of the pseudo `RETHROW`, we have to do this matching in isel, which I think will be very inconvenient.

https://github.com/llvm/llvm-project/pull/107917


More information about the llvm-commits mailing list