From 389fa79e63ff20fa1c6c24dfe26a28b2f487cac8 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 18 Sep 2023 16:08:23 -0700 Subject: Add passes to finalize or unfinalize types (#5944) TypeFinalization finalizes all types that we can, that is, all private types that have no children. TypeUnFinalization unfinalizes (opens) all (private) types. These could be used by first opening all types, optimizing, and then finalizing, as that might find more opportunities. Fixes #5933 --- test/lit/help/wasm2js.test | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'test/lit/help/wasm2js.test') diff --git a/test/lit/help/wasm2js.test b/test/lit/help/wasm2js.test index 54a593b75..b896730a3 100644 --- a/test/lit/help/wasm2js.test +++ b/test/lit/help/wasm2js.test @@ -437,6 +437,8 @@ ;; CHECK-NEXT: ;; CHECK-NEXT: --tuple-optimization optimize trivial tuples away ;; CHECK-NEXT: +;; CHECK-NEXT: --type-finalizing mark all leaf types as final +;; CHECK-NEXT: ;; CHECK-NEXT: --type-merging merge types to their supertypes ;; CHECK-NEXT: where possible ;; CHECK-NEXT: @@ -446,6 +448,9 @@ ;; CHECK-NEXT: --type-ssa create new nominal types to help ;; CHECK-NEXT: other optimizations ;; CHECK-NEXT: +;; CHECK-NEXT: --type-unfinalizing mark all types as non-final +;; CHECK-NEXT: (open) +;; CHECK-NEXT: ;; CHECK-NEXT: --untee removes local.tees, replacing ;; CHECK-NEXT: them with sets and gets ;; CHECK-NEXT: -- cgit v1.2.3