@@ -1506,7 +1506,14 @@ export class Module {
15061506 // --- PassRunner::addDefaultFunctionOptimizationPasses ---
15071507
15081508 if ( optimizeLevel >= 3 || shrinkLevel >= 1 ) {
1509+ passes . push ( "simplify-locals-notee-nostructure" ) ;
1510+ passes . push ( "rse" ) ;
1511+ passes . push ( "vacuum" ) ;
15091512 passes . push ( "ssa-nomerge" ) ;
1513+ passes . push ( "simplify-globals-optimizing" ) ;
1514+ passes . push ( "remove-unused-brs" ) ;
1515+ passes . push ( "remove-unused-names" ) ;
1516+ passes . push ( "merge-blocks" ) ;
15101517 }
15111518 if ( optimizeLevel >= 3 ) {
15121519 passes . push ( "flatten" ) ;
@@ -1518,10 +1525,6 @@ export class Module {
15181525 passes . push ( "local-cse" ) ;
15191526 passes . push ( "reorder-locals" ) ;
15201527 }
1521- if ( optimizeLevel >= 2 || shrinkLevel >= 1 ) {
1522- passes . push ( "rse" ) ;
1523- passes . push ( "vacuum" ) ;
1524- }
15251528 // FIXME: see issue #1288
15261529 // if (usesARC) {
15271530 // if (optimizeLevel < 3) {
@@ -1537,16 +1540,16 @@ export class Module {
15371540 passes . push ( "remove-unused-brs" ) ;
15381541 passes . push ( "remove-unused-names" ) ;
15391542 passes . push ( "inlining-optimizing" ) ;
1540- if ( optimizeLevel >= 2 || shrinkLevel >= 1 ) {
1541- passes . push ( "pick-load-signs" ) ;
1542- passes . push ( "simplify-globals-optimizing" ) ;
1543- }
15441543 if ( optimizeLevel >= 3 || shrinkLevel >= 2 ) {
15451544 passes . push ( "precompute-propagate" ) ;
15461545 } else {
15471546 passes . push ( "precompute" ) ;
15481547 }
15491548 passes . push ( "vacuum" ) ;
1549+ if ( optimizeLevel >= 2 || shrinkLevel >= 1 ) {
1550+ passes . push ( "pick-load-signs" ) ;
1551+ passes . push ( "simplify-globals-optimizing" ) ;
1552+ }
15501553 if ( optimizeLevel >= 3 && shrinkLevel <= 1 ) {
15511554 passes . push ( "licm" ) ;
15521555 }
0 commit comments