This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/15262] [tree-ssa] Alias analyzer cannot handle addressable fields
- From: "dnovillo at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 May 2004 15:47:55 -0000
- Subject: [Bug optimization/15262] [tree-ssa] Alias analyzer cannot handle addressable fields
- References: <20040503142200.15262.dnovillo@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dnovillo at redhat dot com 2004-05-03 15:47 -------
Subject: Re: [tree-ssa] Alias analyzer cannot
handle addressable fields
On Mon, 2004-05-03 at 11:32, pinskia at gcc dot gnu dot org wrote:
> T355 = locp->i;
> T356 = &locp->i; // the problem is that the front-end changes this to ((int *)((char*)locp +4))
> *T356 = str;
> T355 = locp->i;
>
Regardless of FE problems. The alias analyzer fails to connect *T356
with locp->i. In terms of our implementation, the memory tag for T356
should have locp->i in its alias set. However, we only operate on
symbols, so we should either make 'locp' be in *T356's alias set or keep
track of individual fields.
We also don't have information in the IL that tells us that locp->i is
addressable. Which also makes things more complicated during TBAA.
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15262