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

--- Comment #2 from richard.guenther at gmail dot com <richard.guenther at 
gmail dot com> 2010-10-18 11:38:03 UTC ---
On Mon, Oct 18, 2010 at 1:33 PM, bmei at broadcom dot com
<gcc-bugzi...@gcc.gnu.org> wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45834
>
> Bingfeng Mei <bmei at broadcom dot com> changed:
>
>           What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                 CC|                            |richard.guenther at gmail
>                   |                            |dot com
>
> --- Comment #1 from Bingfeng Mei <bmei at broadcom dot com> 2010-10-18 
> 11:33:23 UTC ---
> Before using rtx_refs_may_alias_p in may_alias_p, following statement is
> executed.
>
>
>  /* We cannot use aliases_everything_p to test MEM, since we must look
>     at MEM_ADDR, rather than XEXP (mem, 0).  */
>  if (GET_MODE (mem) == QImode || GET_CODE (mem_addr) == AND)
>    return 1;
>
> Basically, it means that the memory access of a QImode always aliases
> everything else. That explains why char data type doesn't work here. The code
> in may_alias_p is mostly copied from true_dependence_1. The comment is not 
> very
> clear to me. Richard, could you cast a light on this? Why do we need to treat
> QImode differently?

I think it tries to work around bugs (it looks like char accesses or
maybe memcpy/string inline expansion).  You can try searching
the history for this code, but I wouldn't be surprised if it pre-dates
the use of even CVS ;)

Richard.

> --
> Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.
>

Reply via email to