This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/13875] [tree-ssa] missed jump thread optimization on the tree-level


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]