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