Commits

Mark Lacey committed 7d5256f03a5
Devirtualize in the performance inliner. Attempt to devirtualize any apply that we come across in the performance inliner prior to attempting to inline. The is the first step of getting the inliner/specializer/devirtualizer working together so that we can converge on high quality code with less work. Although this is not meant to directly improve performance, but rather be a step towards converging to high quality code with fewer passes, because it alters what gets inlined when, it did have a (mostly) positive effect on performance. These are some of the larger deltas I see, where the percentage is percentage speed-up, and negative percentages indicate a slow-down. -O: --- BenchLangCallingCFunction 16.7% CaptureProp 17.1% Sim2DArray 22.0% -Ounchecked ----------- BenchLangCallingCFunction -11.2% QuickSort 39.4% SwiftStructuresBubbleSort -26.7% Swift SVN r26728