This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Pointer analysis in GCC-4.3.0 - Getting spurious pointsTo pair.
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Seema Ravandale <ravandaless at gmail dot com>
- Cc: gcc <gcc at gcc dot gnu dot org>, gcc-help at gcc dot gnu dot org
- Date: Mon, 15 Jun 2009 13:19:06 +0200
- Subject: Re: Pointer analysis in GCC-4.3.0 - Getting spurious pointsTo pair.
- References: <ee5d809b0905270045u4775e419q3da30a3e3b8157e8@mail.gmail.com> <ee5d809b0906150333k1e29e549id859cf265defa176@mail.gmail.com>
On Mon, Jun 15, 2009 at 12:33 PM, Seema Ravandale<ravandaless@gmail.com> wrote:
> Hi.
>
> Gimple code of the program I have tried to get the pointsTo
> information is as follow:
>
> ?A = 0;
> ?B = &A;
> ?C = &B;
> ?D = &C;
> ?D.1255 = *D;
> ?D = (int * * *) D.1255;
>
> The expected pointsTo pairs ?are,
> B = { A } , A = { }, ?C = { B }, D.1255 = { B }, D = { B ?C }
>
> But with GCC-4.3.0, and command line options ?-fdump-ipa-all
> -funit-at-a-time ?-fipa-pta, we are getting spurious pointsTo pairs
> as,
> D.1255 = { B A } , D = { B C A }
>
> Is the current analysis Flow-insensitive? Even if It is, the sperious
> information, D -> A should not occur.
> Please, Can someone clarify on this?
IPA-PTA is completely bogus (and its results are unused). Further
GCC 4.3 has a very large number of known oddities with computing
points-to information, GCC 4.4 is a lot better here but only GCC 4.5
has fixes for all (known) bugs.
Richard.
> - Seema
>