A recent patch increased GCC's memory consumption in some cases!
Jan Hubicka
jh@suse.cz
Fri Apr 7 11:48:00 GMT 2006
>
> 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
More information about the Gcc-patches
mailing list