------- Comment #6 from dberlin at gcc dot gnu dot org  2007-07-03 15:02 -------
Subject: Re:  [4.3 regression] miscompilation at -O2

>   D.1445_69 = pretmp.53_53;
>   storetmp.41_92 = D.1445_69;
>   *order_p_25(D) = D.1445_69;
>   i_71 = i_2 + 1;
>   if (i_2 == D.1401_27)
>     goto <bb 11>;
>   else
>     goto <bb 21>;
>
> <bb 21>:
>   goto <bb 7>;
>
> i.e. *order_p won't ever change in the loop.

Actually, what it has really done is prove the load and store that
happens have the same value.
It happens to also decide that this value (D.1445_69) is invariant.

This is the broken part, and it is because of antic_safe_loads not
checking whether the operands of the load change.


-- 


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

Reply via email to