This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
Re: A recent patch increased GCC's memory consumption in some cases!
- From: Jan Hubicka <jh at suse dot cz>
- To: gcctest at suse dot de, gcc-patches at gcc dot gnu dot org, richi at suse dot de
- Cc: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Fri, 7 Apr 2006 13:48:07 +0200
- Subject: Re: A recent patch increased GCC's memory consumption in some cases!
- References: <443432E8.mail5K1EGF5I@suse.de>
>
> comparing Gerald's testcase PR8361 compilation at -O1 level:
> Overall memory allocated via mmap and sbrk increased from 108456k to 144940k, overall 33.64%
> Peak amount of GGC memory allocated before garbage collecting increased from 95144k to 132081k, overall 38.82%
> Peak amount of GGC memory still allocated after garbage collectin increased from 93152k to 97084k, overall 4.22%
> Amount of produced GGC garbage decreased from 559402k to 471302k, overall -18.69%
Hi,
this is caused by early inlining finally being effective after Richard's
patch, but not collecting garbage. Bootstrapped/regtested x86_64-linux
and comitted.
2006-04-07 Jan Hubicka <jh@suse.cz>
* ipa-inline.c (cgraph_early_inlining): Collect garbage.
Index: ipa-inline.c
===================================================================
*** ipa-inline.c (revision 112732)
--- ipa-inline.c (working copy)
*************** cgraph_early_inlining (void)
*** 1219,1225 ****
if (node->analyzed && node->local.inlinable
&& (node->needed || node->reachable)
&& node->callers)
! cgraph_decide_inlining_incrementally (node, true);
}
cgraph_remove_unreachable_nodes (true, dump_file);
#ifdef ENABLE_CHECKING
--- 1219,1228 ----
if (node->analyzed && node->local.inlinable
&& (node->needed || node->reachable)
&& node->callers)
! {
! if (cgraph_decide_inlining_incrementally (node, true))
! ggc_collect ();
! }
}
cgraph_remove_unreachable_nodes (true, dump_file);
#ifdef ENABLE_CHECKING