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

Reply via email to