Release RTL bodies after compilation (sometimes)

Jan Hubicka jh@suse.cz
Tue Sep 14 20:18:00 GMT 2004


> 
> On Fri, 2004-09-03 at 01:39, Mark Mitchell wrote:
> 
> > >Oops,  I've broke out the patch twice from larger set of changes and
> > >forgot to check the changelog.  Here is fixed one.
> > >
> > >	* cfg.c (fre_edge): Use ggc_free.
> > >	(expunge_block): Use ggc_free.
> >

This is the reveting patch I commited.  It appears to be safe to revert
only the expunge_block change and I am running gcac x86-64 bootstrap
now.

2004-09-14  Jan Hubicka  <jh@suse.cz>
	* cfg.c (expunge_block): Revert previous change adding ggc_free call.
Index: cfg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfg.c,v
retrieving revision 1.65
diff -c -3 -p -r1.65 cfg.c
*** cfg.c	7 Sep 2004 15:46:46 -0000	1.65
--- cfg.c	14 Sep 2004 20:06:48 -0000
*************** expunge_block (basic_block b)
*** 266,272 ****
    unlink_block (b);
    BASIC_BLOCK (b->index) = NULL;
    n_basic_blocks--;
!   ggc_free (b);
  }
  
  /* Create an edge connecting SRC and DEST with flags FLAGS.  Return newly
--- 266,276 ----
    unlink_block (b);
    BASIC_BLOCK (b->index) = NULL;
    n_basic_blocks--;
!   /* We should be able to ggc_free here, but we are not.
!      The dead SSA_NAMES are left pointing to dead statements that are pointing
!      to dead basic blocks making garbage collector to die.
!      We should be able to release all dead SSA_NAMES and at the same time we should
!      clear out BB pointer of dead statements consistently.  */
  }
  
  /* Create an edge connecting SRC and DEST with flags FLAGS.  Return newly



More information about the Gcc-patches mailing list