* cfg.c (expunge_block): Revert previous change adding ggc_free call.
authorJan Hubicka <jh@suse.cz>
Tue, 14 Sep 2004 20:09:47 +0000 (22:09 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 14 Sep 2004 20:09:47 +0000 (20:09 +0000)
From-SVN: r87506

gcc/ChangeLog
gcc/cfg.c

index b29684fef3777ca920623fd7f1d165e35f883c0e..0b65dda714416aae28c676344d98e3887b6fd2ba 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 3164ba0d06c8bcf05d456a8fbe4cd74c8469e290..3c2ef48d884ba2e5a0caf6ddfb67a5f263ef90ca 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