From c8b6fae38838f18fb015c4b46b4b2f9b462acbf3 Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Tue, 20 Jan 2004 17:55:56 +0100 Subject: [PATCH] re PR rtl-optimization/12440 (gcc 3.3.1 on i386 linux 2.4.22 crashes during compilation of quicktime4linux 2.0.0) 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 | 7 +++++++ gcc/Makefile.in | 2 +- gcc/loop.c | 6 +++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a47a1bfb45..f5565dc9a77 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-01-20 Zdenek Dvorak + + 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 * gcc/config/rs6000/rs6000.c (function_arg) Handle diff --git a/gcc/Makefile.in b/gcc/Makefile.in index a48a4f58513..7ace8ce9c45 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -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 diff --git a/gcc/loop.c b/gcc/loop.c index 0892724b4af..8e5cc4440d7 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -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 (); -- 2.30.2