[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