From 1dd66e2af76e3985e51c62f3ec6ab757922a3775 Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Thu, 29 Jan 2004 04:42:15 +0000 Subject: [PATCH] backport: re PR rtl-optimization/12440 (gcc 3.3.1 on i386 linux 2.4.22 crashes during compilation of quicktime4linux 2.0.0) Backport from mainline 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. From-SVN: r76847 --- gcc/ChangeLog | 11 +++++++++++ gcc/Makefile.in | 2 +- gcc/loop.c | 6 +++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3c23b46d1ccb..3799e5662aa9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2004-01-29 Gabriel Dos Reis + + Backport from mainline + + 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-24 Matthias Klose * objc/objc-act.c (is_public): Fix typo in message. diff --git a/gcc/Makefile.in b/gcc/Makefile.in index a1983f675048..21895de7c630 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1545,7 +1545,7 @@ profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \ loop.o : loop.c $(CONFIG_H) $(SYSTEM_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 \ - 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) $(RTL_H) flags.h $(LOOP_H) \ $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H) toplev.h unroll.o : unroll.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) insn-config.h function.h \ diff --git a/gcc/loop.c b/gcc/loop.c index 3f66968a921f..5e42d6153bd7 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -54,6 +54,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "predict.h" #include "insn-flags.h" #include "optabs.h" +#include "ggc.h" /* Not really meaningful values, but at least something. */ #ifndef SIMULTANEOUS_PREFETCHES @@ -552,7 +553,10 @@ loop_optimize (f, dumpfile, 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.47.2