re PR rtl-optimization/12440 (gcc 3.3.1 on i386 linux 2.4.22 crashes during compilati...
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
Tue, 20 Jan 2004 16:55:56 +0000 (17:55 +0100)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Tue, 20 Jan 2004 16:55:56 +0000 (16:55 +0000)
PR optimization/12440
* loop.c: Include ggc.h.
(loop_optimize): Run garbage collector between optimization of loops.
* Makefile.in (loop.o): Add GGC_H dependency.

From-SVN: r76213

gcc/ChangeLog
gcc/Makefile.in
gcc/loop.c

index 2a47a1bfb45fe0546423d0f80348fef810f510ff..f5565dc9a7761cd4ad639c6a4a6853220c8a84d0 100644 (file)
@@ -1,3 +1,10 @@
+2004-01-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR optimization/12440
+       * loop.c: Include ggc.h.
+       (loop_optimize): Run garbage collector between optimization of loops.
+       * Makefile.in (loop.o): Add GGC_H dependency.
+
 2004-01-20  Hartmut Penner  <hpenner@de.ibm.com>
 
        * gcc/config/rs6000/rs6000.c (function_arg) Handle 
index a48a4f585133dc7a5887830472ccb59316f63b75..7ace8ce9c457da1bbdd15921d24d83aa74e7590f 100644 (file)
@@ -1668,7 +1668,7 @@ value-prof.o : value-prof.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H)
 loop.o : loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h $(LOOP_H) \
    insn-config.h $(REGS_H) hard-reg-set.h $(RECOG_H) $(EXPR_H) \
    real.h $(PREDICT_H) $(BASIC_BLOCK_H) function.h cfgloop.h \
-   toplev.h varray.h except.h cselib.h $(OPTABS_H) $(TM_P_H)
+   toplev.h varray.h except.h cselib.h $(OPTABS_H) $(TM_P_H) $(GGC_H)
 doloop.o : doloop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) flags.h \
    $(LOOP_H) $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H) toplev.h \
    cfgloop.h
index 0892724b4afdeecc8444609bd80ee64345c9b821..8e5cc4440d741207256ecbc6206da0dbd9dccd4d 100644 (file)
@@ -65,6 +65,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include "insn-flags.h"
 #include "optabs.h"
 #include "cfgloop.h"
+#include "ggc.h"
 
 /* Not really meaningful values, but at least something.  */
 #ifndef SIMULTANEOUS_PREFETCHES
@@ -534,7 +535,10 @@ loop_optimize (rtx f, FILE *dumpfile, int flags)
       struct loop *loop = &loops->array[i];
 
       if (! loop->invalid && loop->end)
-       scan_loop (loop, flags);
+       {
+         scan_loop (loop, flags);
+         ggc_collect ();
+       }
     }
 
   end_alias_analysis ();