This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Latent PTA bug?
On Wed, 27 Jul 2005, Diego Novillo wrote:
> On Wed, Jul 27, 2005 at 03:09:09PM +0200, Richard Guenther wrote:
>
> > i.e. while we see that the temporary pointer points to array[0], for
> > SFT.2_6 (i.p) we don't see anything? So if we'd see { SFT.1 } here, too,
> > we'd be wrong in both cases. -> aka my bug, correct?
> >
> What is SFT.1? array[0]? Yes, that's your bug. may-alias sets
> should have all of array's SFTs.
>
> > So why don't we get the points-to set for SFT.2_6?
> >
> The solver does not operate on SFTs. Both _p_5 and i should
> point to array here.
This seems to fix it. Am I poking at the right place? ;)
*************** set_uids_in_ptset (bitmap into, bitmap f
*** 3246,3252 ****
else if (TREE_CODE (vi->decl) == VAR_DECL
|| TREE_CODE (vi->decl) == PARM_DECL)
{
! if (found_anyoffset
&& var_can_have_subvars (vi->decl)
&& get_subvars_for_var (vi->decl))
{
--- 3294,3301 ----
else if (TREE_CODE (vi->decl) == VAR_DECL
|| TREE_CODE (vi->decl) == PARM_DECL)
{
! if ((found_anyoffset
! || TREE_CODE (TREE_TYPE (vi->decl)) == ARRAY_TYPE)
&& var_can_have_subvars (vi->decl)
&& get_subvars_for_var (vi->decl))
{