https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68331
--- Comment #2 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 1 Dec 2015, vries at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68331 > > --- Comment #1 from vries at gcc dot gnu.org --- > > IPA PTA can use a _lot_ of memory and compile-time > > Doing a non-bootstrap build with -fipa-pta enabled by default gets stuck at: > ... > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND > > 32436 vries 20 0 1697m 1.6g 9812 R 100 3.4 49:24.20 jc1 > 1393 vries 20 0 1449m 1.4g 9760 R 100 2.9 49:17.13 jc1 > 20984 vries 20 0 5665m 5.5g 9936 R 100 11.6 47:30.41 jc1 > 12641 vries 20 0 1122m 1.0g 9880 R 100 2.2 51:43.55 jc1 > > $ ps fx |grep jc1 | grep -o '[^ ]*\.o ' > java/.libs/util.o > javax/.libs/swing.o > javax/swing/plaf/.libs/basic.o > classpath/tools/.libs/libgcj_tools_la-tools.o > ... Yeah, Java basically does "compile-all-in-one". IPA PTA survives a LTO bootstrap (without libjava ...) though. At least it did so in the past. Likewise it survives SPEC CPU 2006 with LTO. Note that IPA PTA runs as "late" IPA pass during LTRANS and not on the full program there. I suspect we wouldn't survive -flto-partition=none builds.