[llvm] [WebAssembly] Rename CATCH/CATCH_ALL to *_LEGACY (PR #107187)

Derek Schuff via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 4 11:02:45 PDT 2024


================
@@ -127,11 +127,26 @@ defm DEBUG_UNREACHABLE : NRI<(outs), (ins), [(debugtrap)], "unreachable", 0x00>;
 
 let Predicates = [HasExceptionHandling] in {
 
-// Throwing an exception: throw / rethrow
+// Throwing an exception: throw
 let isTerminator = 1, hasCtrlDep = 1, isBarrier = 1 in {
 defm THROW : I<(outs), (ins tag_op:$tag, variable_ops),
                (outs), (ins tag_op:$tag), [],
                "throw   \t$tag", "throw   \t$tag", 0x08>;
+} // isTerminator = 1, hasCtrlDep = 1, isBarrier = 1
+
+// Pseudo instructions: cleanupret / catchret
+let isTerminator = 1, hasSideEffects = 1, isBarrier = 1, hasCtrlDep = 1,
+    isPseudo = 1, isEHScopeReturn = 1 in {
+  defm CLEANUPRET : NRI<(outs), (ins), [(cleanupret)], "cleanupret", 0>;
+  defm CATCHRET : NRI<(outs), (ins bb_op:$dst, bb_op:$from),
+                      [(catchret bb:$dst, bb:$from)], "catchret", 0>;
+} // isTerminator = 1, hasSideEffects = 1, isBarrier = 1, hasCtrlDep = 1,
+  // isPseudo = 1, isEHScopeReturn = 1
+
+// Below are instructions from the legacy EH proposal. Can be deprecated.
----------------
dschuff wrote:

```suggestion
// Below are instructions from the legacy EH proposal. Could be deprecated if usage gets low enough.
```

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


More information about the llvm-commits mailing list