This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
GCC memory consumption increased by recent patch!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Fri, 29 Oct 2004 04:14:15 +0000
- Subject: GCC memory consumption increased by recent patch!
Hi,
Comparing memory consumption on compilation of combine.i and generate-3.4.ii I got:
comparing combine.c compilation at -O0 level:
Overall memory needed: 25241k
Peak memory use before GGC: 9329k
Peak memory use after GGC: 8641k
Maximum of released memory in single GGC run: 2926k
Garbage: 42520k
Leak: 6088k
Overhead: 5657k
GGC runs: 354
comparing combine.c compilation at -O1 level:
Overall memory needed: 26573k -> 26585k
Peak memory use before GGC: 9291k
Peak memory use after GGC: 8730k
Maximum of released memory in single GGC run: 2064k
Garbage: 71614k -> 71629k
Leak: 6484k
Overhead: 11331k -> 11334k
GGC runs: 569
comparing combine.c compilation at -O2 level:
Amount of produced GGC garbage increased from 87012k to 87105k, overall 0.11%
Overall memory needed: 29817k -> 29809k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12579k
Maximum of released memory in single GGC run: 2578k
Garbage: 87012k -> 87105k
Leak: 6305k
Overhead: 15974k -> 15993k
GGC runs: 570
comparing combine.c compilation at -O3 level:
Amount of produced GGC garbage increased from 116881k to 117002k, overall 0.10%
Overall memory needed: 21396k -> 21400k
Peak memory use before GGC: 13121k -> 13132k
Peak memory use after GGC: 12579k
Maximum of released memory in single GGC run: 3418k
Garbage: 116881k -> 117002k
Leak: 6813k
Overhead: 21066k -> 21090k
GGC runs: 636
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 118512k
Peak memory use before GGC: 79408k
Peak memory use after GGC: 46137k
Maximum of released memory in single GGC run: 43357k
Garbage: 161090k
Leak: 10609k
Overhead: 20460k
GGC runs: 295
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 130240k
Peak memory use before GGC: 89840k
Peak memory use after GGC: 70491k
Maximum of released memory in single GGC run: 40959k
Garbage: 459069k -> 459069k
Leak: 10954k
Overhead: 74021k -> 74021k
GGC runs: 453
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 205752k -> 205748k
Peak memory use before GGC: 105256k
Peak memory use after GGC: 85907k
Maximum of released memory in single GGC run: 35657k
Garbage: 508436k
Leak: 10882k
Overhead: 82119k
GGC runs: 375
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 205760k -> 205756k
Peak memory use before GGC: 105258k
Peak memory use after GGC: 85909k
Maximum of released memory in single GGC run: 35657k
Garbage: 509710k
Leak: 10926k
Overhead: 82302k
GGC runs: 384
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111956k -> 111960k
Peak memory use before GGC: 88676k
Peak memory use after GGC: 87634k
Maximum of released memory in single GGC run: 19564k
Garbage: 249098k
Leak: 57105k
Overhead: 45784k
GGC runs: 364
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 94576k
Peak memory use before GGC: 87850k
Peak memory use after GGC: 86403k
Maximum of released memory in single GGC run: 19363k
Garbage: 589707k -> 589606k
Leak: 59034k -> 59030k
Overhead: 129867k -> 128599k
GGC runs: 627 -> 628
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95200k -> 95168k
Peak memory use before GGC: 87850k
Peak memory use after GGC: 86403k
Maximum of released memory in single GGC run: 19363k
Garbage: 646311k -> 646627k
Leak: 59621k -> 59617k
Overhead: 154319k -> 154288k
GGC runs: 679 -> 680
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 102704k to 102916k, overall 0.21%
Overall memory needed: 102704k -> 102916k
Peak memory use before GGC: 94792k
Peak memory use after GGC: 87880k
Maximum of released memory in single GGC run: 19973k
Garbage: 689573k -> 690173k
Leak: 59958k -> 59953k
Overhead: 166053k -> 165983k
GGC runs: 659 -> 660
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-10-28 22:33:10.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-10-29 03:09:18.000000000 +0000
@@ -1,3 +1,24 @@
+2004-10-28 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
+ (rewrite_blocks): Modify argument, and use it to decide which
+ function to call.
+ (rewrite_def_def_chains): Call rewrite_blocks with true here.
+ (rewrite_into_ssa): and call it with false here.
+
+2004-10-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-phinodes.c (add_phi_arg): Turn an "if" that always
+ triggers into gcc_assert.
+
+2004-10-28 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/16728
+ * tree-flow.h (get_ptr_info): Declare.
+ * tree-ssa-alias.c (get_ptr_info): Make extern.
+ * tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
+ alias information.
+
2004-10-28 Stan Shebs <shebs@apple.com>
* config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2004-10-28 22:33:13.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2004-10-29 03:09:20.000000000 +0000
@@ -1,3 +1,9 @@
+1004-10-28 Matt Austern <austern@apple.com>
+
+ PR c++/14124
+ * decl.c (finish_enum): Handle packed attribute.
+ * parser.c (cp_parser_enum_specifier): Process trailing attributes.
+
2004-10-28 Mark Mitchell <mark@codesourcery.com>
PR c++/17132
I am friendly script caring about memory consumption in GCC. Please contact
jh@suse.cz if something is going wrong.
The results can be reproduced by building compiler with
--enable-gather-detailed-mem-stats targetting x86-64 and compiling preprocessed
combine.c or testcase from PR8632 with:
-fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q
The memory consumption summary appears in the dump after detailed listing of
the places they are allocated in. Peak memory consumption is actually computed
by looking for maximal value in {GC XXXX -> YYYY} report.
Yours testing script.