------- 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 <[EMAIL PROTECTED]> 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