------- Additional Comments From law at redhat dot com 2005-06-13 13:52 ------- Subject: Re: [tree-ssa] missed jump thread optimization on the tree-level
On Sun, 2005-06-12 at 20:41 +0000, pinskia at gcc dot gnu dot org wrote: > ------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-12 > 20:41 ------- > Hmm, I have not seen any more, could you double check this? FWIW, it is still possible to miss jump threading opportunities, it's just a lot harder now :-) The most common ways we miss threading opportunities are: 1. Cascading jump threading opportunities. We're more conservative than we need to be with the iteration step. This can cause us to miss jump threading opportunities because we're not iterating. A great example of this would be a loop where the backedge is always threadable. There's an example of this in one of the testcases in the various open PRs. I'm working on resolving some of the issues necessary to address this limitation right now. 2. We're not recording all the expressions we encounter when attempting to thread through a basic block. ie, if we encounter x = a + b and "a + b" does not simplify, then we do not record anything in our hash tables for "x". It is possible that recording the equivalence between x and a + b can result in more threading opportunities. I believe there is also a testcase which exposes this limitation in one of the still open PRs. jeff -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13875