summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2023-01-24 14:23:34 -0800
committerGitHub <noreply@github.com>2023-01-24 14:23:34 -0800
commit5aa94e0d2fa397c178fe307537d36846683c22b7 (patch)
treec176508bfa3318b5e3561bc8258b28ee729b6a1c /src/tools
parentdd3091c87cc11ffe297632259cad18a64162e68b (diff)
downloadbinaryen-5aa94e0d2fa397c178fe307537d36846683c22b7.tar.gz
binaryen-5aa94e0d2fa397c178fe307537d36846683c22b7.tar.bz2
binaryen-5aa94e0d2fa397c178fe307537d36846683c22b7.zip
Add a mechanism to skip a pass by name (#5448)
For example, -O3 --skip-pass=vacuum will run -O3 normally but it will not run the vacuum pass at all (which normally runs more than once in -O3).
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/optimization-options.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tools/optimization-options.h b/src/tools/optimization-options.h
index 698d3305e..c87530536 100644
--- a/src/tools/optimization-options.h
+++ b/src/tools/optimization-options.h
@@ -277,6 +277,14 @@ struct OptimizationOptions : public ToolOptions {
Options::Arguments::Zero,
[this](Options*, const std::string&) {
passOptions.zeroFilledMemory = true;
+ })
+ .add("--skip-pass",
+ "-sp",
+ "Skip a pass (do not run it)",
+ OptimizationOptionsCategory,
+ Options::Arguments::One,
+ [this](Options*, const std::string& pass) {
+ passOptions.passesToSkip.insert(pass);
});
// add passes in registry