[Bug tree-optimization/33508] [4.3 Regression] tree struct aliasing goes into a loop marking call clobbers.
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Thu Sep 20 15:21:00 GMT 2007
------- Comment #8 from rguenther at suse dot de 2007-09-20 15:20 -------
Subject: Re: [4.3 Regression] tree struct
aliasing goes into a loop marking call clobbers.
On Thu, 20 Sep 2007, dberlin at dberlin dot org wrote:
> ------- Comment #7 from dberlin at gcc dot gnu dot org 2007-09-20 15:12 -------
> Subject: Re: [4.3 Regression] tree struct aliasing goes into a loop marking
> call clobbers.
>
> On 20 Sep 2007 13:52:11 -0000, ramana dot radhakrishnan at celunite
> dot com <gcc-bugzilla@gcc.gnu.org> wrote:
> >
> >
> > ------- Comment #6 from ramana dot radhakrishnan at celunite dot com 2007-09-20 13:52 -------
> > (In reply to comment #4)
> > > Created an attachment (id=14230)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14230&action=view)
> --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14230&action=view)
> > --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14230&action=view) [edit]
> > > patch fixing the problem
> > >
> > > This fixes it. The idea is to keep track of which parent vars we need to add
> > > all subvars to the call clobbered list in a bitmap and process them after the
> > > first walk.
>
>
> I don't have enough context handy in the patch to see if you moved it
> outside the transitive loop, or just the initial loop.
> You can move it outside the initial loop, but not the transitive loop,
> because the SFT's may themselves be pointers (obviously for
> non-pointer SFT's, you can certainly ignore them).
I only moved it outside of the innermost EXECUTE_IF_SET_IN_BITMAP loop
on aliases, which should be safe. I don't completely understand what
you mean with non queuing non-pointers - I suppose queuing non-pointers
in the worklist in mark_aliases_call_clobbered?
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33508
More information about the Gcc-bugs
mailing list