From e2add4b09e394a2ebf89ebcc27b5e9b6417fc68b Mon Sep 17 00:00:00 2001 From: Alexander Guryanov Date: Tue, 6 Dec 2022 19:25:48 +0300 Subject: Optimize Asyncify to not flatten/optimize unnecessarily (#5293) Add a way to proxy passes and the addition of passes in pass runners. With that we can make Asyncify only modify functions it actually needs to. On a project that Asyncify only needs to modify a few functions on, this can save a huge amount of time as it avoids flattening+optimizing the majority of the module. Fixes #4822 --- test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast') diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast index 1d7fd1797..83de99da1 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast @@ -485,12 +485,8 @@ ) ) ;; CHECK: (func $calls-indirect (param $x i32) - ;; CHECK-NEXT: (local $1 i32) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call_indirect (type $f) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $calls-indirect (param $x i32) -- cgit v1.2.3