From b900ed95deda68dad12b3aac7d1283f642e7a545 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 5 Apr 2021 14:09:01 -0700 Subject: Reducer: skip more functions when failing to remove them (#3718) This avoids an annoying case where in each iteration we try to remove every function one by one and keep failing. Instead, we'll skip large numbers of them when the factor is large at least. Also shorten some unnecessary logging. --- src/tools/wasm-reduce.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/tools/wasm-reduce.cpp b/src/tools/wasm-reduce.cpp index b84fe8e38..40ad58115 100644 --- a/src/tools/wasm-reduce.cpp +++ b/src/tools/wasm-reduce.cpp @@ -303,8 +303,7 @@ struct Reducer // see if it is still has the property we are preserving if (ProgramResult(command) == expected) { std::cerr << "| command \"" << currCommand - << "\" succeeded, reduced size to " << newSize - << ", and preserved the property\n"; + << "\" succeeded, reduced size to " << newSize << '\n'; copy_file(test, working); more = true; oldSize = newSize; @@ -920,6 +919,7 @@ struct Reducer skip = std::min(size_t(factor), 2 * skip); } else { skip = std::max(skip / 2, size_t(1)); // or 1? + i += factor / 100; } } // try to remove exports -- cgit v1.2.3