This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: Reduce size of df_ref


> 
> Hi,
> looking at top memory consumers at -O0 compilation of PR middle-end/37448
> Allocpools:
> allocnos                 434   45686480   42628176          0
> df_scan_ref pool         868  299190624  674472576          0
> df_scan_insn pool        868   78427840   39589968          0
> 
> Bitmaps:
> reload1.c:526 (new_insn_chain)            614091   36265800   36265800   36265800          0
> reload1.c:527 (new_insn_chain)            614091   33119880   33119880   33119880    1032650
> 
> Vectors:
> ira-build.c:405 (initiate_allocnos)                       0: 0.0%    2502640             434: 0.4% 
> ira-build.c:409 (initiate_allocnos)                       0: 0.0%    2502640             434: 0.4% 
> final.c:958 (shorten_branches)                            0: 0.0%    2562404             434: 0.4% 
> ira-build.c:928 (initiate_copies)                         0: 0.0%    5124072             434: 0.4% 
> 
> GGC
> tree-ssanames.c:141 (make_ssa_name_fn)             15898560: 3.2%          0: 0.0%          0: 0.0%    1059904: 2.1%     132488
> c-typeck.c:3216 (build_unary_op)                   16098624: 3.3%          0: 0.0%          0: 0.0%    1788736: 3.6%     223592
> ggc-common.c:187 (ggc_calloc)                      15786984: 3.2%          0: 0.0%    2502848:18.2%      24824: 0.0%       4343
> gimplify.c:522 (create_tmp_var_raw)                21675192: 4.4%          0: 0.0%          0: 0.0%    1032152: 2.1%     129019
> gimple.c:287 (gimple_build_call_1)                 22671720: 4.6%          0: 0.0%          0: 0.0%    1111272: 2.2%     166477
> tree-inline.c:3591 (copy_tree_r)                   22805864: 4.6%          0: 0.0%          0: 0.0%    1378024: 2.8%     288420
> lists.c:143 (alloc_EXPR_LIST)                      28357080: 5.8%          0: 0.0%          0: 0.0%    5671416:11.4%     708927
> cgraph.c:643 (cgraph_create_edge)                  31961856: 6.5%          0: 0.0%          0: 0.0%          0: 0.0%     332936
> emit-rtl.c:426 (gen_raw_REG)                       33121984: 6.7%          0: 0.0%      38656: 0.3%          0: 0.0%    1036270
> emit-rtl.c:3343 (make_insn_raw)                    36543408: 7.4%          0: 0.0%          0: 0.0%    3322128: 6.7%     415266

The patch is wrong, it does not work for virtual refs.
However there seems to be problem that we seem to have allocated about
22 refs at once for every instruction.

Honza


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