summaryrefslogtreecommitdiff
path: root/src/passes/pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/pass.cpp')
-rw-r--r--src/passes/pass.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 8e7972c25..bcf487a95 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -94,22 +94,9 @@ void PassRegistry::registerPasses() {
void PassRunner::addDefaultOptimizationPasses() {
add("duplicate-function-elimination");
- add("dce");
- 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
- add("coalesce-locals");
- add("vacuum"); // previous pass creates garbage
- 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
+ addDefaultFunctionOptimizationPasses();
add("duplicate-function-elimination"); // optimizations show more functions as duplicate
+ add("remove-unused-functions");
}
void PassRunner::addDefaultFunctionOptimizationPasses() {
@@ -132,6 +119,7 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
void PassRunner::addDefaultGlobalOptimizationPasses() {
add("duplicate-function-elimination");
+ add("remove-unused-functions");
}
void PassRunner::run() {