This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]