> > - 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