------- Comment #10 from spop at gcc dot gnu dot org  2008-10-16 00:02 -------
Subject: Re:  [4.4 Regression] gcc-4.4 regression: incorrect code generation
with -O1 -ftree-vectorize

On Wed, Oct 15, 2008 at 4:47 PM, rguenth at gcc dot gnu dot org
> IMHO the fix for the tuplification bug(!) is to strip the ADDR_EXPR that is
> always present on op0 in split_constant_offset_1 so:
>
>    case ADDR_EXPR:
>      {
>        tree base, poffset;
>        HOST_WIDE_INT pbitsize, pbitpos;
>        enum machine_mode pmode;
>        int punsignedp, pvolatilep;
>
>        op0 = TREE_OPERAND (op0, 0);
>        if (!handled_component_p (op0))
>          return false;

This is exactly what I tried within gdb and it did worked, although
not as I expected: the base address ends to be &s and not &s.c[0] as
I expected before.  This then fixes the bug as we end on the same
base address of the structure.  Then the alias analysis answers that
the two accesses can overlap.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37573

Reply via email to