diff options
author | Alon Zakai <azakai@google.com> | 2021-06-02 13:24:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-02 13:24:22 -0700 |
commit | d8f2ddd4d680b059c2daded7f57051bf21d77297 (patch) | |
tree | 11a1f5d1e2621152bdfcef385201b950c379f0c5 /src/passes/Print.cpp | |
parent | e40396003798678803f4091ac4132aefa3905d7a (diff) | |
download | binaryen-d8f2ddd4d680b059c2daded7f57051bf21d77297.tar.gz binaryen-d8f2ddd4d680b059c2daded7f57051bf21d77297.tar.bz2 binaryen-d8f2ddd4d680b059c2daded7f57051bf21d77297.zip |
[Wasm GC] Add negated BrOn* operations (#3913)
They are basically the flip versions. The only interesting part in the impl is that their
returned typed and sent types are different.
Spec: https://docs.google.com/document/d/1DklC3qVuOdLHSXB5UXghM_syCh-4cMinQ50ICiXnK3Q/edit
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index df408fdf3..47db029ab 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -1888,18 +1888,33 @@ struct PrintExpressionContents case BrOnNull: printMedium(o, "br_on_null "); break; + case BrOnNonNull: + printMedium(o, "br_on_non_null "); + break; case BrOnCast: printMedium(o, "br_on_cast "); break; + case BrOnCastFail: + printMedium(o, "br_on_cast_fail "); + break; case BrOnFunc: printMedium(o, "br_on_func "); break; + case BrOnNonFunc: + printMedium(o, "br_on_non_func "); + break; case BrOnData: printMedium(o, "br_on_data "); break; + case BrOnNonData: + printMedium(o, "br_on_non_data "); + break; case BrOnI31: printMedium(o, "br_on_i31 "); break; + case BrOnNonI31: + printMedium(o, "br_on_non_i31 "); + break; default: WASM_UNREACHABLE("invalid ref.is_*"); } |