[llvm] [WebAssembly] Add unreachable before catch destinations (PR #123915)

Derek Schuff via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 15:48:56 PST 2025


================
@@ -2179,8 +2195,15 @@ bool WebAssemblyCFGStackify::fixCatchUnwindMismatches(MachineFunction &MF) {
 
   // When end_loop is before end_try_table within the same BB in unwind
   // destinations, we should split the end_loop into another BB.
-  for (auto &[_, UnwindDest] : EHPadToUnwindDest)
-    splitEndLoopBB(UnwindDest);
+  for (auto &[_, UnwindDest] : EHPadToUnwindDest) {
+    auto It = EHPadToTry.find(UnwindDest);
+    // If UnwindDest is the faker caller block, it will not be in EHPadToTry map
----------------
dschuff wrote:

```suggestion
    // If UnwindDest is the fake caller block, it will not be in EHPadToTry map
```

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


More information about the llvm-commits mailing list