This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Kill pointers keeping gimple function body around after RTL isgenerated
On Fri, 2004-09-03 at 09:20 -0400, Diego Novillo wrote:
> On Fri, 2004-09-03 at 04:03, Jan Hubicka wrote:
> > > On Thu, Sep 02, 2004 at 11:59:06PM +0200, Jan Hubicka wrote:
> > > > - for (; !bsi_end_p (bsi); bsi_next (&bsi))
> > > > + for (; !bsi_end_p (bsi); bsi_remove (&bsi))
> > >
> > > Why? Aren't we coing to zap the entire statement list in a moment?
> >
> > I am having incremental patch that actually teach bsi_remove to release
> > unshared parts of the bodies as mentioned earlier. (it at least can be
> > made to trivially recycle the containers)
> >
> IIRC, we bsi_remove to move statements around. The fact that we call
> bsi_remove() doesn't necessarily mean we won't need the statement
> anymore.
>
Only in a few places (a quick glance showed me two).
Somewhat humorously, however, the bsi_move_* functions remove, then
insert, so you'd have to at least fix those.
The other places i found using bsi_remove to do moving looked like they
wanted a bsi_move_to_edge function (IE they are bsi_insert_on_edge +
bsi_remove pairs).
>
> Diego.
>
--