[llvm] [WebAssembly] Misc. fixes in CFGStackify (PR #107182)

Heejin Ahn via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 22:31:10 PDT 2024


================
@@ -607,14 +603,13 @@ void WebAssemblyCFGStackify::placeTryMarker(MachineBasicBlock &MBB) {
               TII.get(WebAssembly::TRY))
           .addImm(int64_t(WebAssembly::BlockType::Void));
 
-  // Decide where in Header to put the END_TRY.
+  // Decide where in Cont to put the END_TRY.
   BeforeSet.clear();
   AfterSet.clear();
   for (const auto &MI : *Cont) {
 #ifndef NDEBUG
-    // END_TRY should precede existing LOOP and BLOCK markers.
-    if (MI.getOpcode() == WebAssembly::LOOP ||
-        MI.getOpcode() == WebAssembly::BLOCK)
----------------
aheejin wrote:

The same as the case in `placeBlockMarker`. There cannot be a `block` marker in a BB we are about to put a `end_try` marker, because we place `try` and `block` markers in a single pass.

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


More information about the llvm-commits mailing list