Commits

Michael Gottesman committed e5d7111db80
[load-store-opts] Change load store opts single BB pass to be a simple forward dataflow with an intersection merge operation. This is not run by default unless one passes in the flag -Xllvm -enable-global-load-store-opts. Also in order to make sure in the face of multi-bbs dead store elimination is still correct, we use the post order dominator tree to determine if the dead store is post dominated by the store that is causing it to be dead. With this pass enabled, we see a 3.5% decrease in overall time in the precommit bench and the following tests increase in speed by > 5%: 2Sum: 8.9% Rectangles: 7.35% Ackermann: 6.43% StringBuilder: 6.16% EditDistance: 5.71% StringWalk: 5.58% That means that 30% of our benchmarks increased in speed by > 5%. Many of the other benchmarks increased in speed significantly but not as drmatically. The only benchmark that regressed is SmallPt which I am looking into. rdar://17680758 Swift SVN r20009