https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111624

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dmalcolm at gcc dot gnu.org

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
With -g0 it's (trunk)

191.36user 2.29system 3:13.74elapsed 99%CPU (0avgtext+0avgdata
5827388maxresident)k
776inputs+143592outputs (1major+1815547minor)pagefaults 0swaps

pre-IPA we use 256MB for ad-hoc location stuff with 5.4 million entries.

Also:

Total Overhead  page size  67108864:             8
Total Allocated page size  67108864:           128M
Total Overhead  page size 134217728:             8
Total Allocated page size 134217728:           256M
Total Overhead  page size 268435456:             8
Total Allocated page size 268435456:           512M

decls                   880k       118M
refs                   1699k        60M
random kinds           1837k        71M
exprs                  7271k       278M
----------------------------------------
Total                    13M       617M

convert_expr                        463k
call_expr                           974k
non_lvalue_expr                    1009k
view_convert_expr                  1150k
addr_expr                          1368k
nop_expr                           1402k
tree_list                          1677k

GIMPLE is just 120M

ash-table.h:858 (expand)                               25M:  2.9%       66M: 
9.9%      129M: 12.7%       38k:  0.1%      700
dwarf2out.cc:5827 (new_die_raw)                         26M:  3.0%      142k: 
0.0%        0 :  0.0%        0 :  0.0%      336k
cgraph.cc:891 (create_edge)                             26M:  3.0%        0 : 
0.0%        0 :  0.0%        0 :  0.0%      265k
gimple.cc:231 (gimple_build_call_1)                     41M:  4.7%       10M: 
1.6%        0 :  0.0%     1622k:  4.1%      341k
tree-ssanames.cc:148 (init_ssanames)                    52M:  5.9%        0 : 
0.0%       61k:  0.0%       17M: 44.9%       34k
dwarf2out.cc:4506 (add_dwarf_attr)                     121M: 13.7%      300k: 
0.0%       44M:  4.3%     8603k: 21.7%      588k
toplev.cc:755 (realloc_for_line_map)                   258M: 29.2%        0 : 
0.0%      256M: 25.2%       40 :  0.0%       22
--------------------------------------------------------------------------------------------------------------------------------------------
GGC memory                                              Leak          Garbage  
         Freed        Overhead            Times
--------------------------------------------------------------------------------------------------------------------------------------------
Total                                                  884M:100.0%     
668M:100.0%     1017M:100.0%       38M:100.0%       20M


final memory use is

Total Allocated page size 1073741824:          1024M
Total Overhead  page size 2147483648:             0
Total Allocated page size 2147483648:          2048M

and 2GB of it is the ad-hoc table:

Ad-hoc table size:                    2048M
Ad-hoc table entries used:              43M
optimized_ranges:                     3206k
unoptimized_ranges:                   5767k

I think we never get rid of any of that but we possibly create a lot of
garbage due to inlining?  Or the new suppressed option stuff?

We now have

GIMPLE statements
Kind                   Stmts      Bytes
---------------------------------------
assignments               14M       1260M
phi nodes                 62k        725M
conditionals              11M        921M
everything else           15M        949M
---------------------------------------
Total                     42M       3856M

so that's 4GB worth of GIMPLE!

rtvec                       510k      8546k
-----------------------------------------------
Total                        51M      1578M

but only 1.5GB worth of RTL?!

We really seem to go wild inlining here.

Reply via email to