diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/passes/pass.cpp | 18 |
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() { |