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.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 3eed059bb..4b14186fb 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -214,14 +214,15 @@ void PassRunner::addDefaultGlobalOptimizationPrePasses() {
}
void PassRunner::addDefaultGlobalOptimizationPostPasses() {
- if (options.optimizeLevel >= 2 || options.shrinkLevel >= 1) {
- add("dae-optimizing");
- }
- // inline when working hard, and when not preserving debug info
- // (inlining+optimizing can remove the annotations)
- if ((options.optimizeLevel >= 2 || options.shrinkLevel >= 2) &&
- !options.debugInfo) {
- add("inlining-optimizing");
+ // 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");
+ }
}
add("duplicate-function-elimination"); // optimizations show more functions as duplicate
add("remove-unused-module-elements");