Hi,

On Thu, 8 Dec 2011, Richard Guenther wrote:

> > What I am not sure is whether the coalescing algorithm or the 
> > expanding procedure is wrong here.

The forwarding of _218 is wrong.  TER shouldn't have marked it as being 
able to forward (check the expand-detailed dump for the "Replacing 
Expressions" section).  Obviously it does think it can forward it, so 
something is wrong in tree-ssa-ter.c.

If you can't come up with a testcase that fails with some available cross 
compiler (though I wonder why, the tree-ssa parts of the compiler are not 
that target dependend, so maybe you can show similar forwarding with an 
adjusted testcase for something publically available) you have to debug it 
yourself (I'm right now not aware of any known bug in 4.5 regarding this 
particular situation).

There should be a call to kill_expr on the statement
  ptr_h2_310 = ptr_h2_493 + 16;
which should have killed the expression MEM[ptr_h2_493] (and hence _218) 
from the available expressions.


Ciao,
Michael.

Reply via email to