[Bug tree-optimization/33508] [4.3 Regression] tree struct aliasing goes into a loop marking call clobbers.

dberlin at dberlin dot org gcc-bugzilla@gcc.gnu.org
Thu Sep 20 15:12:00 GMT 2007



------- 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) [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).

You could also speed this up dramatically by not queuing non-pointers.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33508



More information about the Gcc-bugs mailing list