This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Memory usage statistics


I have a question:

How can I discover in which passes gcc is using the most memory?

For example, current CVS sources take about 1.6 Gbytes to compile this very large routine:

http://www.math.purdue.edu/~lucier/_meroon.i.gz

using either -O1 or -O2; here are the timing statistics:

banach-12% /usr/bin/time gcc -fPIC -Wall -W -Wno-unused -I/pkgs/gambit/include -O1 -fno-math-errno -mcpu=supersparc -c -D___DYNAMIC -D___SINGLE_HOST -save-temps _meroon.c

real    14:03.7
user    13:25.5
sys        36.0
banach-13% /usr/bin/time gcc -fPIC -Wall -W -Wno-unused -I/pkgs/gambit/include -O2 -Wdisabled-optimization -fno-math-errno -mcpu=supersparc -c -D___DYNAMIC -D___SINGLE_HOST -save-temps _meroon.c
_meroon.c: In function `___H__20___meroon':
_meroon.c:77013: warning: GCSE disabled: 17321 > 1000 basic blocks and 1351 >= 20 edges/basic block

real    24:44.2
user    24:04.5
sys        37.5
banach-18% gcc -v
Reading specs from /pkgs/gcc-2.96/lib/gcc-lib/sparc-sun-solaris2.8/2.97/specs
Configured with: ../configure --prefix=/pkgs/gcc-2.96 --enable-checking=no
gcc version 2.97 20001129 (experimental)

So, you can see it's a big function (17,321 blocks, 23,400,671 edges)
but I don't think it should take 1.6 GB to compile at -O1 and I'd like to
find out where the memory is being used.

Brad Lucier

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]