https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98863
--- Comment #26 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #24) > Created attachment 50087 [details] > updated time and memory report > > This is updated -f{time,mem}-report (with > --enable-gather-detailed-mem-stats) for ltrans34.o And the obvious candidate is the RD DF problem where DF-chain depends on RD. Explicit RD users are haifa (sched_init (), but adds also DF-chain), WEB, REE, loop IV and invariant and DCE. df-problems.c:228 (df_rd_alloc) 1276M: 7.3% 1280M 33M: 1.6% 0 0 heap df-problems.c:509 (df_rd_transfer_function) 6709M: 38.1% 6709M 329M: 15.6% 0 0 heap df-problems.c:227 (df_rd_alloc) 7992M: 45.4% 7992M 200M: 9.5% 0 0 heap but it's odd since in particular IRA does not seem to use DF_CHAIN/DF_RD and at the start of ira() we do have 7GB RSS (for quite some time already, somewhere in loop opt). So the first peak to 7GB is fwprop_init, after add_phi_nodes. Memory is released again after fwprop but since fwprop runs at -O1 it should likely limit itself somehow. Richard? The next pass is (meh), STV, which uses df_chain. Then we have another fwprop instance. Then remove_partial_avx_dependency and STV again, then if-conversion but that doesn't use chain or rd - so sth from before must leak, most likely one of the i386 specific passes after combine. Looks like remove_partial_avx_dependency is the culprit, leaving garbage around and for whatever stupid reason adds a plethora of DF problems...