Commits

Mark Lacey committed e50daa6e3bd
Shuffle around some of the optimization passes. The end goal here is to end up with a good pass ordering that will allow us to only run one set of these passes, rather than running them twice. This is a start in that direction. No real impact measured on compile times as of this change. On benchmarks I see a mix of regressions and improvements. -O improvements: Calculator -17.6% 1.21x Chars -54.4% 2.19x PolymorphicCalls -14.7% 1.17x SetIsSubsetOf -14.1% 1.16x Sim2DArray -14.1% 1.16x StrToInt -30.4% 1.44x -O regressions: CaptureProp +32.9% 0.75x DictionarySwap +36.0% 0.74x XorLoop +39.8% 0.72x -Ounchecked improvements: Chars -58.0% 2.38x -Ounchecked regressions: CaptureProp +33.3% 0.75x -Onone improvements: StrToInt -14.9% 1.18x StringWalk -47.6% 1.91x StringWithCString -17.2% 1.21x (many more smaller improvements) -Onone regressions: Calculator +21.5% 0.82x OpenClose +10.1% 0.91x