[PATCH] D96824: [WebAssembly] Do not use EHCatchret symbols with wasm EH

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 05:52:33 PST 2021


aheejin accepted this revision.
aheejin added a comment.
This revision is now accepted and ready to land.

Thanks for taking care of this. I think the test case is fine, but it'd better to make it a valid wasm EH file, because in the current state does not generate a valid wasm code. I made edits to do that so you can just apply them.



================
Comment at: llvm/test/CodeGen/WebAssembly/eh-catchpad-nested.ll:6
+
+declare void @personality()
+
----------------



================
Comment at: llvm/test/CodeGen/WebAssembly/eh-catchpad-nested.ll:10
+
+define void @test1() personality void ()* @personality {
+entry:
----------------



================
Comment at: llvm/test/CodeGen/WebAssembly/eh-catchpad-nested.ll:21
+outer.catch:
+  %cp1 = catchpad within %cs1 [i32 1]
+  invoke void @f() [ "funclet"(token %cp1) ]
----------------
  %cp1 = catchpad within %cs1 [i32 1]
  %0 = call i8* @llvm.wasm.get.exception(token %cp1)
  %1 = call i32 @llvm.wasm.get.ehselector(token %cp1)


================
Comment at: llvm/test/CodeGen/WebAssembly/eh-catchpad-nested.ll:28
+catch.dispatch.2:
+  %cs2 = catchswitch within %cp1 [label %inner.catch] unwind to caller
+inner.catch:
----------------
newline


================
Comment at: llvm/test/CodeGen/WebAssembly/eh-catchpad-nested.ll:30
+inner.catch:
+  %cp2 = catchpad within %cs2 [i32 2]
+  catchret from %cp2 to label %outer.ret
----------------
  %cp2 = catchpad within %cs2 [i32 2]
  %2 = call i8* @llvm.wasm.get.exception(token %cp2)
  %3 = call i32 @llvm.wasm.get.ehselector(token %cp2)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96824/new/

https://reviews.llvm.org/D96824



More information about the llvm-commits mailing list