[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