diff options
author | Alon Zakai <azakai@google.com> | 2023-01-24 14:23:34 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-24 14:23:34 -0800 |
commit | 5aa94e0d2fa397c178fe307537d36846683c22b7 (patch) | |
tree | c176508bfa3318b5e3561bc8258b28ee729b6a1c /src/tools | |
parent | dd3091c87cc11ffe297632259cad18a64162e68b (diff) | |
download | binaryen-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.h | 8 |
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 |