Bug in Tree to RTL expansion?
Michael Matz
matz@suse.de
Thu Dec 8 13:49:00 GMT 2011
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.
More information about the Gcc
mailing list