Hi, On Tue, 11 Oct 2011, Richard Guenther wrote:
> Since we have the alias oracle we no longer optimize the testcase below > because I initially restricted the stmt walking to give up for PHIs with > more than 2 arguments because of compile-time complexity issues. But > it's easy to see that compile-time is not an issue when we reduce PHI > args pairwise to a single dominating operand. Of course it is, not a different complexity class, but a constant factor. You have to do N-1 pairwise reductions, meaning with a large fan-in block you pay N-1 times the price, not just once for one pair, and if the price happens to be walking all up to the function start you indeed then are at N*M. I think there should be a cutoff, possibly not at two. Think about the generated testcases with many large switches. Ciao, Michael.