------- Comment #98 from lucier at math dot purdue dot edu 2009-02-20 19:52 ------- Thank you, that indeed "fixes" the LICM problem.
Based on some comments for this PR and for PR 39157 I thought that a similar patch might apply to PRE. So with euler-14% /pkgs/gcc-mainline/bin/gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../../mainline/configure --enable-checking=release --prefix=/pkgs/gcc-mainline --enable-languages=c --enable-gather-detailed-mem-stats Thread model: posix gcc version 4.4.0 20090220 (experimental) [trunk revision 144328] (GCC) I ran this command /pkgs/gcc-mainline/bin/gcc -v -c -O2 -fmem-report -ftime-report compiler.i -save-temps > & ! report-compiler where compiler.i is found at http://www.math.purdue.edu/~lucier/bugzilla/8/ and I killed the job after it required 17GB of RAM. This job compiles just fine with euler-15% /pkgs/gcc-4.1.2/bin/gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../configure --prefix=/pkgs/gcc-4.1.2 Thread model: posix gcc version 4.1.2 in about 1.5 GB of RAM. To derive some statistics I ran /pkgs/gcc-mainline/bin/gcc -v -c -O2 -fmem-report -ftime-report _num.i -save-temps > & ! report-num where the smaller file _num.i is also found at http://www.math.purdue.edu/~lucier/bugzilla/8/ I'll attach report-num to this PR. The highlights are PRE : 23.28 (24%) usr 0.01 ( 0%) sys 23.51 (24%) wall 681 kB ( 0%) ggc integrated RA : 12.70 (13%) usr 0.00 ( 0%) sys 12.83 (13%) wall 3709 kB ( 2%) ggc TOTAL : 95.93 2.73 99.72 227422 kB and that's about it, nothing else above 5%. There are also accurate memory statistics, as I've added a patch to my local sources so that memory statistics don't overflow 32-bit counters. I think the -O1 and -O2 limits for LICM are quite reasonable; would it be possible to limit PRE similarly so that one could compile compiler.i with -O2 in a reasonable amount of memory? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854