[Bug tree-optimization/44563] GCC uses a lot of RAM when compiling a large numbers of functions
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 13 00:58:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44563
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dnovillo at google dot com
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-12-13 00:58:04 UTC ---
letting compilation to run longer I get:
3068656 60.0462 cc1 cc1
gsi_for_stmt
1211665 23.7093 cc1 cc1
cgraph_check_inline_limits
396594 7.7604 cc1 cc1
gimple_set_bb
29937 0.5858 libc-2.11.1.so libc-2.11.1.so _IO_vfscanf
23409 0.4581 libc-2.11.1.so libc-2.11.1.so _int_malloc
14539 0.2845 cc1 cc1
gimple_split_block
13307 0.2604 libc-2.11.1.so libc-2.11.1.so memset
9532 0.1865 cc1 cc1 htab_delete
8275 0.1619 cc1 cc1
bitmap_set_bit
so gsi_for_stmt nonlinearity kicks in. I guess it is the inliner calling BB
split and that calling gsi_for_stmt. We probably can have gsi_split_bb with
gsi argument too.
I always wondered why Diego did not embed gimple_seq_node_d into gimple
statment (we don't have too many statements that would not be living in basic
blocks so it would not be wasteful and it would result in better locality
walking the lists). In that case gsi_for_stmt would become O(1).
Honza
More information about the Gcc-bugs
mailing list