summaryrefslogtreecommitdiff
path: root/src/passes/pass.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-06-18 18:27:03 +0100
committerGitHub <noreply@github.com>2016-06-18 18:27:03 +0100
commitb06555e330e48a42918492086cbf4b24353ed62d (patch)
treecbf6b14611a501d0775c62aa5791ccf071a7fc2c /src/passes/pass.cpp
parentec931e717a07dc21f22ac543ab0fe5af78879cc8 (diff)
parentd6bda73f13fe17434f3bd78b58da6961d297361a (diff)
downloadbinaryen-b06555e330e48a42918492086cbf4b24353ed62d.tar.gz
binaryen-b06555e330e48a42918492086cbf4b24353ed62d.tar.bz2
binaryen-b06555e330e48a42918492086cbf4b24353ed62d.zip
Merge pull request #590 from WebAssembly/precompute
Precompute expressions at compile time when possible
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 babb4635b..1c66147ef 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -63,6 +63,7 @@ void PassRunner::addDefaultOptimizationPasses() {
add("remove-unused-brs");
add("remove-unused-names");
add("optimize-instructions");
+ add("precompute");
add("simplify-locals");
add("vacuum"); // previous pass creates garbage
add("remove-unused-brs"); // simplify-locals opens opportunities for phi optimizations
@@ -71,6 +72,7 @@ void PassRunner::addDefaultOptimizationPasses() {
add("reorder-locals");
add("merge-blocks");
add("optimize-instructions");
+ add("precompute");
add("vacuum"); // should not be needed, last few passes do not create garbage, but just to be safe
add("duplicate-function-elimination"); // optimizations show more functions as duplicate
}
@@ -80,6 +82,7 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
add("remove-unused-brs");
add("remove-unused-names");
add("optimize-instructions");
+ add("precompute");
add("simplify-locals");
add("vacuum"); // previous pass creates garbage
add("remove-unused-brs"); // simplify-locals opens opportunities for phi optimizations
@@ -88,6 +91,7 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
add("reorder-locals");
add("merge-blocks");
add("optimize-instructions");
+ add("precompute");
add("vacuum"); // should not be needed, last few passes do not create garbage, but just to be safe
}