diff options
author | Alon Zakai <azakai@google.com> | 2021-04-05 14:09:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-05 14:09:01 -0700 |
commit | b900ed95deda68dad12b3aac7d1283f642e7a545 (patch) | |
tree | 20724af201132681c10e4e0c5753c763b5eeae3d /src | |
parent | 1bb172c789bb3a61aeaae78f5464d0544627ed3e (diff) | |
download | binaryen-b900ed95deda68dad12b3aac7d1283f642e7a545.tar.gz binaryen-b900ed95deda68dad12b3aac7d1283f642e7a545.tar.bz2 binaryen-b900ed95deda68dad12b3aac7d1283f642e7a545.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/wasm-reduce.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
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 |