[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

rakdver at kam dot mff dot cuni dot cz gcc-bugzilla@gcc.gnu.org
Wed Jul 7 11:20:00 GMT 2010



------- Comment #26 from rakdver at kam dot mff dot cuni dot cz  2010-07-07 11:19 -------
Subject: Re:  [4.6 regression] RTL loop
        unrolling causes FAIL: gcc.dg/pr39794.c

> In
> 
>    ...
>    *p_1 = x;
>    y = *(p_1 + 1);
>    ...
> 
> I can say that *p_1 does not alias *(p_1 + 1) independent on what code
> is around.  If it would be
> 
> BB3:
>   # p_1 = PHI <p_0, p_2(3)>
>   *p_1 = x;
>    y = *(p_1 + 1);
>   p_2 = p_1 + 1;
>   goto BB3;
> 
> that would be still correct (I can exchange those two statements).

Well, yes.  Still, I would like to hear your formal definition of what it means
for two memory references (not to) alias.  We certainly can modify the code to
ensure such a property, but just toying around without knowing precisely what
this property is definitely is not a good idea.


-- 


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



More information about the Gcc-bugs mailing list