OSDN Git Service

* cfg.c (expunge_block): Revert previous change adding ggc_free call.
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Sep 2004 20:09:47 +0000 (20:09 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Sep 2004 20:09:47 +0000 (20:09 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87506 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cfg.c

index b29684f..0b65dda 100644 (file)
@@ -1,3 +1,7 @@
+2004-09-14  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (expunge_block): Revert previous change adding ggc_free call.
+
 2004-09-14  Mark Mitchell  <mark@codesourcery.com>
 
        * config.gcc: Do not build a shared libgcc for arm-none-eabi.
index 3164ba0..3c2ef48 100644 (file)
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -266,7 +266,11 @@ expunge_block (basic_block b)
   unlink_block (b);
   BASIC_BLOCK (b->index) = NULL;
   n_basic_blocks--;
-  ggc_free (b);
+  /* 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.  */
 }
 \f
 /* Create an edge connecting SRC and DEST with flags FLAGS.  Return newly