Re: Materialize clones on demand

2020-10-28 Thread Jan Hubicka
> > > > However main problem is > > > > cfg.c:202 (connect_src) 5745k: 0.2% > > > > 271M: 1.9% 1754k: 0.0% 1132k: 0.2% 7026k > > > > cfg.c:212 (connect_dest) 6307k: 0.2% > > > > 281M: 2.0%10129k: 0.2%

Re: Materialize clones on demand

2020-10-26 Thread Jan Hubicka
> > > > > > > cselib.c:3137 (cselib_init) 34M: 25.9% > > > > 34M 1514k: 17.3% heap > > > > tree-scalar-evolution.c:2984 (scev_initialize) 37M: 27.6% > > > > 50M 228k: 2.6% ggc > > > > > > Hmm, so we do > > > > > > scalar_e

Re: Materialize clones on demand

2020-10-26 Thread Richard Biener
On Mon, 26 Oct 2020, Jan Hubicka wrote: > > > We seem to leak some hashtables: > > > dwarf2out.c:28850 (dwarf2out_init) 31M: 23.8% > > > 47M 19 : 0.0% ggc > > > > that one likely keeps quite some memory live... > > Yep, having in-memory dwaf2out for whole

Re: Materialize clones on demand

2020-10-26 Thread Jan Hubicka
> > We seem to leak some hashtables: > > dwarf2out.c:28850 (dwarf2out_init) 31M: 23.8% > > 47M 19 : 0.0% ggc > > that one likely keeps quite some memory live... Yep, having in-memory dwaf2out for whole cc1plus eats a lot of memory quite naturally. > > > c

Re: Materialize clones on demand

2020-10-26 Thread Richard Biener
On Fri, 23 Oct 2020, Jan Hubicka wrote: > > Hi, > > > > On Thu, Oct 22 2020, Jan Hubicka wrote: > > > Hi, > > > this patch removes the pass to materialize all clones and instead this > > > is now done on demand. The motivation is to reduce lifetime of function > > > bodies in ltrans that should

Re: Materialize clones on demand

2020-10-23 Thread Jan Hubicka
> Hi, > > On Thu, Oct 22 2020, Jan Hubicka wrote: > > Hi, > > this patch removes the pass to materialize all clones and instead this > > is now done on demand. The motivation is to reduce lifetime of function > > bodies in ltrans that should noticeably reduce memory use for highly > > parallel co

Re: Materialize clones on demand

2020-10-23 Thread Jan Hubicka
> > Bootstrapped/regtested x86_64-linux and also lto-bootstrapped with > > release checking. I plan to commit it after bit more testing. > > > > Honza > > > > gcc/ChangeLog: > > > > 2020-10-22 Jan Hubicka > > > > * cgraph.c (cgraph_node::get_untransformed_body): Perform lazy > > clone m

Re: Materialize clones on demand

2020-10-23 Thread Martin Jambor
Hi, On Thu, Oct 22 2020, Jan Hubicka wrote: > Hi, > this patch removes the pass to materialize all clones and instead this > is now done on demand. The motivation is to reduce lifetime of function > bodies in ltrans that should noticeably reduce memory use for highly > parallel compilations of la

Materialize clones on demand

2020-10-22 Thread Jan Hubicka
Hi, this patch removes the pass to materialize all clones and instead this is now done on demand. The motivation is to reduce lifetime of function bodies in ltrans that should noticeably reduce memory use for highly parallel compilations of large programs (like Martin does) or with partitioning re