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]
Other format: [Raw text]

Re: [tuples] New memory/time comparison vs trunk


> 
> - The rest of the memory utilization difference is mostly in inlining
> (240Kb) and SSA update (50Kb).
> 
> I think the main focus points should be DSE and trying to get a good
> way of measuring the memory utilization differences.  Jan, any
> suggestion?

I've switched memory tester to tuples now.  The full report is in
gcc-regressions and graphs here
http://gcc.opensuse.org/memory/graphs/index.html
Overall the footprint improved.

For combine.c, the gimplified program now needs 3.6% less memory,
overall amount of GGC memory referenced at one time decreased by 5%
pretty much at all levels.

Insn-attrtab is 14% smaller befora IPA, overlall footprint is 12%
smaller.

Gerald's testcase shows 2% increase in overall allocation, but memory
footprint is still 3% smaller.  This might be increased inlining, but
also the aliassing issue bellow.

The top memory allocations:

rtl.c:269 (copy_rtx)                                1594936: 2.6%
gimple-iterator.c:447 (gsi_insert_after_without_    1714000: 2.8%
stringpool.c:74 (alloc_node)                         761696: 1.2%
gimplify.c:521 (create_tmp_var_raw)                 1852032: 3.0%
cselib.c:1155 (cselib_subst_to_values)              1914640: 3.1%
emit-rtl.c:3339 (make_insn_raw)                     1945592: 3.2%
tree-inline.c:3563 (copy_tree_r)                    2450104: 4.0%
tree-ssanames.c:141 (make_ssa_name_fn)              3374640: 5.5%
tree-phinodes.c:157 (allocate_phi_node)             3475264: 5.7%

(this is combine.c at O2)

gimple.c:2098 (gimple_copy)                         8735664: 2.5%
gimple-iterator.c:447 (gsi_insert_after_without_    9558400: 2.8%
gimplify.c:521 (create_tmp_var_raw)                 9737784: 2.8%
tree-phinodes.c:157 (allocate_phi_node)            15222104: 4.4%
tree-ssanames.c:141 (make_ssa_name_fn)             16784400: 4.8%
tree-inline.c:4062 (copy_decl_no_change)           18668784: 5.4%
tree-inline.c:3563 (copy_tree_r)                   19876608: 5.7%

(this is Gerald's testcase at O2).

PHI nodes and SSA names now got very up.  This is all from virtual
operands.  Without aliasing at combine.c I get 1.5MV (instead of 3.3MB)
for SSA names and 195KB (instead of 3.4MB) for PHI nodes.
Perhaps something got wrong with aliasing heruistics?

It seem to show in your scores too:
>  ^ tree alias analys    4.47    4.53    1.34%   68751   71085    3.39%
>  ^ tree call clobber    0.42    0.59   40.48%     887    1084   22.21%

For space reasons memory tester no longer save older reports so I can't
compare easilly with mainline, but I can give it a try if this is not
obvious problem somewhere. (requires me to build stuff by hand that is
not hard).

Honza


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