This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Memory reduction patches for 3.4, round 1
- From: Jan Hubicka <jh at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org, rth at redhat dot com
- Date: Wed, 28 Jan 2004 14:40:20 +0100
- Subject: Memory reduction patches for 3.4, round 1
Hi,
Current 3.4 branch require 52MB to compile combine.c, mainline require 30MB, my
expreimental tree require 17MB. I would like to propose to merge following
patches from mainline into 3.4 branch. This include only patches that didn't
cause any breakage, I would still like to merge other cselib patches, but first
I would like to solve semi-latent bug in schedule-ebbs and gcse.c the patch to
invalidate released memory uncovered.
I would also propose the statistics patch to be applied so we can analyze the
code more easilly.
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02048.html
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02231.html
So far I would propose following patches:
genrtl.c:33 (gen_rtx_fmt_ee) 263694 3164328 0:5.784%
Pertly dealt with
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02354.html
For more we need to move loglinks into separate datastructure, we need to deal with this later.
alias.c:2734 (init_alias_analysis) 828 3078144 964296:7.389%
This is solved by http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02084.html
The new code consume about 59KB in varray overhead.
cselib.c:848 (cselib_subst_to_values) 144581 1672936 0:3.058%
ggc-common.c:188 (ggc_calloc) 26909 4945088 170900:9.351%
cselib.c:150 (new_elt_list) 257952 2063616 0:3.772%
genrtl.c:619 (gen_rtx_fmt_0) 271597 2172776 0:3.971%
cselib.c:708 (new_cselib_val) 270230 5404600 0:9.879%
cselib.c:167 (new_elt_loc_list) 350759 7015180 0:12.822%
As mentioned, I am holding the cselib patches until remaining (unrelated)
problesm are tracked down, however following two patches reduce amount of
cselib invocations to about 50%:
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02317.html
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02736.html
Finally I would like to propose
http://gcc.gnu.org/ml/gcc-patches/2004-01/msg02748.html
to speed up reload. It makes noticeable difference at very low risc.
Honza