From 0cffeb58f88b086ff7b195fc7d2440add92803fc Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Thu, 16 Feb 2023 07:29:55 -0800 Subject: Never flip a call from unreachable to reachable during inlining (#5493) See example in the new comment. In general, we never want to go from unreachable to reachable (refinalize doesn't even try), as it misses out on DCE opportunities. Also it may have validation issues, which is how the fuzzer found this. Remove code in the same place that was redundant after the refinalize was added in #5492. That simplifies some existing testcases slightly, by removing an unneeded br we added, and now we add a new unreachable at the end in other cases that need it. --- test/lit/passes/inlining_splitting.wast | 1 - 1 file changed, 1 deletion(-) (limited to 'test/lit/passes/inlining_splitting.wast') diff --git a/test/lit/passes/inlining_splitting.wast b/test/lit/passes/inlining_splitting.wast index 2f840a494..9764aa235 100644 --- a/test/lit/passes/inlining_splitting.wast +++ b/test/lit/passes/inlining_splitting.wast @@ -231,7 +231,6 @@ ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (br $__inlined_func$nondefaultable-param) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $call-nondefaultable-param -- cgit v1.2.3