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, 7 insertions, 11 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 4b14186fb..58a5f2f0a 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -156,9 +156,7 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
add("flatten");
add("local-cse");
}
- if (!options.debugInfo) { // debug info must be preserved, do not dce it
- add("dce");
- }
+ add("dce");
add("remove-unused-brs");
add("remove-unused-names");
add("optimize-instructions");
@@ -215,14 +213,12 @@ void PassRunner::addDefaultGlobalOptimizationPrePasses() {
void PassRunner::addDefaultGlobalOptimizationPostPasses() {
// inlining/dae+optimizing can remove debug annotations
- if (!options.debugInfo) {
- if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) {
- add("dae-optimizing");
- }
- // inline when working hard, and when not preserving debug info
- if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) {
- add("inlining-optimizing");
- }
+ if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) {
+ add("dae-optimizing");
+ }
+ // inline when working hard, and when not preserving debug info
+ if (options.optimizeLevel >= 2 || options.shrinkLevel >= 2) {
+ add("inlining-optimizing");
}
add("duplicate-function-elimination"); // optimizations show more functions as duplicate
add("remove-unused-module-elements");