[PATCH] D48260: [WebAssembly] Make rethrow instruction take a target BB argument

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 18 05:08:16 PDT 2018


aheejin updated this revision to Diff 151697.
aheejin added a comment.

- Comment for RETHROW_TO_CALLER


Repository:
  rL LLVM

https://reviews.llvm.org/D48260

Files:
  lib/Target/WebAssembly/WebAssemblyInstrControl.td


Index: lib/Target/WebAssembly/WebAssemblyInstrControl.td
===================================================================
--- lib/Target/WebAssembly/WebAssemblyInstrControl.td
+++ lib/Target/WebAssembly/WebAssemblyInstrControl.td
@@ -130,8 +130,11 @@
 def THROW_I64 : I<(outs), (ins i32imm:$tag, I64:$val),
                   [(int_wasm_throw imm:$tag, I64:$val)], "throw   \t$tag, $val",
                   0x08>;
-def RETHROW : I<(outs), (ins i32imm:$rel_depth), [], "rethrow \t$rel_depth",
-                0x09>;
+def RETHROW : I<(outs), (ins bb_op:$dst), [], "rethrow \t$dst", 0x09>;
+let isCodeGenOnly = 1 in
+// This is used when the destination for rethrow is the caller function. This
+// will be converted to a rethrow in CFGStackify.
+def RETHROW_TO_CALLER : I<(outs), (ins), [], "rethrow">;
 } // isTerminator = 1, hasCtrlDep = 1, isBarrier = 1
 
 // Region within which an exception is caught: try / end_try


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48260.151697.patch
Type: text/x-patch
Size: 924 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180618/e35f0efe/attachment.bin>


More information about the llvm-commits mailing list