summaryrefslogtreecommitdiff
path: root/src/passes/pass.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-02-17 08:00:23 -0800
committerGitHub <noreply@github.com>2017-02-17 08:00:23 -0800
commitdafe89619cfae269b8f3e9e01ead6102a9d168ad (patch)
treeaf8b4f4e9fbe969934e1751a268549f60ae80b62 /src/passes/pass.cpp
parentc6ea79d1532face076c2dfeb8eadb58319e4e5fd (diff)
parent67fd2a8bece9b4ecad4d0bef2d357245492a66bb (diff)
downloadbinaryen-dafe89619cfae269b8f3e9e01ead6102a9d168ad.tar.gz
binaryen-dafe89619cfae269b8f3e9e01ead6102a9d168ad.tar.bz2
binaryen-dafe89619cfae269b8f3e9e01ead6102a9d168ad.zip
Merge pull request #906 from WebAssembly/opts-super-4
Misc opts
Diffstat (limited to 'src/passes/pass.cpp')
-rw-r--r--src/passes/pass.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 32b596eef..df98590c5 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -77,6 +77,7 @@ void PassRegistry::registerPasses() {
registerPass("nm", "name list", createNameListPass);
registerPass("name-manager", "utility pass to manage names in modules", createNameManagerPass);
registerPass("optimize-instructions", "optimizes instruction combinations", createOptimizeInstructionsPass);
+ registerPass("pick-load-signs", "pick load signs based on their uses", createPickLoadSignsPass);
registerPass("post-emscripten", "miscellaneous optimizations for Emscripten-generated code", createPostEmscriptenPass);
registerPass("print", "print in s-expression format", createPrinterPass);
registerPass("print-minified", "print in minified s-expression format", createMinifiedPrinterPass);
@@ -112,6 +113,9 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
add("remove-unused-brs");
add("remove-unused-names");
add("optimize-instructions");
+ if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) {
+ add("pick-load-signs");
+ }
add("precompute");
if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) {
add("code-pushing");