------- 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

Reply via email to