This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Pointer analysis in GCC-4.3.0 - Getting spurious pointsTo pair.
- From: Seema Ravandale <ravandaless at gmail dot com>
- To: gcc <gcc at gcc dot gnu dot org>, gcc-help at gcc dot gnu dot org
- Date: Mon, 15 Jun 2009 16:03:16 +0530
- Subject: Pointer analysis in GCC-4.3.0 - Getting spurious pointsTo pair.
- References: <ee5d809b0905270045u4775e419q3da30a3e3b8157e8@mail.gmail.com>
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?
- Seema