This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
A recent patch increased GCC's memory consumption!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Fri, 22 Feb 2008 11:17:55 +0000
- Subject: A recent patch increased GCC's memory consumption!
Hi,
I am a friendly script caring about memory consumption in GCC. Please
contact jh@suse.cz if something is going wrong.
Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:
comparing empty function compilation at -O0 level:
Overall memory needed: 8151k
Peak memory use before GGC: 1096k
Peak memory use after GGC: 994k
Maximum of released memory in single GGC run: 129k
Garbage: 237k
Leak: 951k
Overhead: 80k
GGC runs: 2
Testing has produced no results
Testing has produced no results
comparing empty function compilation at -O0 -g level:
Overall memory needed: 8167k
Peak memory use before GGC: 1123k
Peak memory use after GGC: 1021k
Maximum of released memory in single GGC run: 131k
Garbage: 239k
Leak: 984k
Overhead: 84k
GGC runs: 3
Testing has produced no results
Testing has produced no results
comparing empty function compilation at -O1 level:
Overall memory needed: 8211k
Peak memory use before GGC: 1096k
Peak memory use after GGC: 994k
Maximum of released memory in single GGC run: 131k
Garbage: 239k
Leak: 952k
Overhead: 81k
GGC runs: 2
Pre-IPA-Garbage: 226k
Pre-IPA-Leak: 954k
Pre-IPA-Overhead: 79k
Post-IPA-Garbage: 226k
Post-IPA-Leak: 954k
Post-IPA-Overhead: 79k
comparing empty function compilation at -O2 level:
Overall memory needed: 8231k
Peak memory use before GGC: 1096k
Peak memory use after GGC: 994k
Maximum of released memory in single GGC run: 134k
Garbage: 243k
Leak: 953k
Overhead: 81k
GGC runs: 2
Pre-IPA-Garbage: 226k
Pre-IPA-Leak: 955k
Pre-IPA-Overhead: 79k
Post-IPA-Garbage: 226k
Post-IPA-Leak: 955k
Post-IPA-Overhead: 79k
comparing empty function compilation at -O3 level:
Overall memory needed: 8231k
Peak memory use before GGC: 1096k
Peak memory use after GGC: 994k
Maximum of released memory in single GGC run: 134k
Garbage: 243k
Leak: 953k
Overhead: 81k
GGC runs: 2
Pre-IPA-Garbage: 226k
Pre-IPA-Leak: 955k
Pre-IPA-Overhead: 79k
Post-IPA-Garbage: 226k
Post-IPA-Leak: 955k
Post-IPA-Overhead: 79k
comparing combine.c compilation at -O0 level:
Overall memory needed: 22703k
Peak memory use before GGC: 7809k
Peak memory use after GGC: 7186k
Maximum of released memory in single GGC run: 1550k
Garbage: 37949k
Leak: 5506k
Overhead: 4649k
GGC runs: 371
Testing has produced no results
Testing has produced no results
comparing combine.c compilation at -O0 -g level:
Overall memory needed: 24707k
Peak memory use before GGC: 9648k
Peak memory use after GGC: 8954k
Maximum of released memory in single GGC run: 1838k
Garbage: 38291k
Leak: 8380k
Overhead: 5276k
GGC runs: 342
Testing has produced no results
Testing has produced no results
comparing combine.c compilation at -O1 level:
Overall memory needed: 32939k -> 32935k
Peak memory use before GGC: 16345k
Peak memory use after GGC: 16161k
Maximum of released memory in single GGC run: 1362k -> 1361k
Garbage: 51444k -> 51447k
Leak: 5660k -> 5659k
Overhead: 5778k -> 5778k
GGC runs: 443
Pre-IPA-Garbage: 13921k
Pre-IPA-Leak: 17182k
Pre-IPA-Overhead: 2129k
Post-IPA-Garbage: 13921k
Post-IPA-Leak: 17182k
Post-IPA-Overhead: 2129k
comparing combine.c compilation at -O2 level:
Overall memory needed: 35775k -> 35779k
Peak memory use before GGC: 16446k
Peak memory use after GGC: 16280k
Maximum of released memory in single GGC run: 1316k -> 1317k
Garbage: 71105k -> 71123k
Leak: 5986k -> 5985k
Overhead: 8061k -> 8062k
GGC runs: 512
Pre-IPA-Garbage: 14078k
Pre-IPA-Leak: 17247k
Pre-IPA-Overhead: 2144k
Post-IPA-Garbage: 14078k
Post-IPA-Leak: 17247k
Post-IPA-Overhead: 2144k
comparing combine.c compilation at -O3 level:
Overall memory needed: 38607k -> 38779k
Peak memory use before GGC: 16616k -> 16615k
Peak memory use after GGC: 16293k
Maximum of released memory in single GGC run: 2019k -> 2041k
Garbage: 88749k -> 88688k
Leak: 6047k -> 6039k
Overhead: 10085k -> 10006k
GGC runs: 539 -> 544
Pre-IPA-Garbage: 14084k
Pre-IPA-Leak: 17259k -> 17258k
Pre-IPA-Overhead: 2145k -> 2145k
Post-IPA-Garbage: 14084k
Post-IPA-Leak: 17259k -> 17258k
Post-IPA-Overhead: 2145k -> 2145k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 137443k -> 137439k
Peak memory use before GGC: 56999k
Peak memory use after GGC: 31456k
Maximum of released memory in single GGC run: 33256k
Garbage: 128624k
Leak: 8382k
Overhead: 14368k
GGC runs: 293
Testing has produced no results
Testing has produced no results
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory needed: 138695k -> 138699k
Peak memory use before GGC: 58141k
Peak memory use after GGC: 32598k
Maximum of released memory in single GGC run: 33256k
Garbage: 128862k
Leak: 10057k
Overhead: 14724k
GGC runs: 289
Testing has produced no results
Testing has produced no results
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 143011k -> 143007k
Peak memory use before GGC: 56219k
Peak memory use after GGC: 49983k
Maximum of released memory in single GGC run: 23976k -> 23977k
Garbage: 206435k -> 206437k
Leak: 9275k
Overhead: 24742k -> 24742k
GGC runs: 315
Pre-IPA-Garbage: 50355k
Pre-IPA-Leak: 49676k
Pre-IPA-Overhead: 7543k
Post-IPA-Garbage: 50355k
Post-IPA-Leak: 49676k
Post-IPA-Overhead: 7543k
comparing insn-attrtab.c compilation at -O2 level:
Amount of produced GGC garbage increased from 246622k to 247263k, overall 0.26%
Overall memory needed: 184487k -> 184551k
Peak memory use before GGC: 56853k
Peak memory use after GGC: 51573k
Maximum of released memory in single GGC run: 22363k -> 22909k
Garbage: 246622k -> 247263k
Leak: 10362k
Overhead: 30341k -> 30401k
GGC runs: 346
Pre-IPA-Garbage: 50427k
Pre-IPA-Leak: 49680k
Pre-IPA-Overhead: 7550k
Post-IPA-Garbage: 50427k
Post-IPA-Leak: 49680k
Post-IPA-Overhead: 7550k
comparing insn-attrtab.c compilation at -O3 level:
Amount of produced GGC garbage increased from 274485k to 275126k, overall 0.23%
Overall memory needed: 190715k
Peak memory use before GGC: 68036k
Peak memory use after GGC: 62280k
Maximum of released memory in single GGC run: 22863k -> 23409k
Garbage: 274485k -> 275126k
Leak: 10399k
Overhead: 32130k -> 32190k
GGC runs: 348
Pre-IPA-Garbage: 50427k
Pre-IPA-Leak: 49680k
Pre-IPA-Overhead: 7550k
Post-IPA-Garbage: 50427k
Post-IPA-Leak: 49680k
Post-IPA-Overhead: 7550k
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 148816k
Peak memory use before GGC: 84543k
Peak memory use after GGC: 83706k
Maximum of released memory in single GGC run: 17034k
Garbage: 200451k
Leak: 48022k
Overhead: 23992k
GGC runs: 416
Pre-IPA-Garbage: 109324k
Pre-IPA-Leak: 71150k
Pre-IPA-Overhead: 12099k
Post-IPA-Garbage: 109324k
Post-IPA-Leak: 71150k
Post-IPA-Overhead: 12099k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 169708k
Peak memory use before GGC: 96211k
Peak memory use after GGC: 95246k
Maximum of released memory in single GGC run: 17546k
Garbage: 206097k
Leak: 69705k
Overhead: 28969k
GGC runs: 389
Pre-IPA-Garbage: 109968k
Pre-IPA-Leak: 84430k
Pre-IPA-Overhead: 14675k
Post-IPA-Garbage: 109968k
Post-IPA-Leak: 84430k
Post-IPA-Overhead: 14675k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Amount of memory still referenced at the end of compilation increased from 47308k to 47430k, overall 0.26%
Overall memory needed: 122487k -> 122775k
Peak memory use before GGC: 84153k -> 84150k
Peak memory use after GGC: 83319k -> 83316k
Maximum of released memory in single GGC run: 16219k
Garbage: 290186k -> 289653k
Leak: 47308k -> 47430k
Overhead: 29357k -> 29318k
GGC runs: 517 -> 514
Pre-IPA-Garbage: 154543k -> 154543k
Pre-IPA-Leak: 87950k -> 87946k
Pre-IPA-Overhead: 17503k -> 17503k
Post-IPA-Garbage: 154543k -> 154543k
Post-IPA-Leak: 87950k -> 87946k
Post-IPA-Overhead: 17503k -> 17503k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Amount of memory still referenced at the end of compilation increased from 48285k to 48439k, overall 0.32%
Overall memory needed: 124723k -> 124623k
Peak memory use before GGC: 84378k
Peak memory use after GGC: 83498k -> 83499k
Maximum of released memory in single GGC run: 16221k
Garbage: 355723k -> 355003k
Leak: 48285k -> 48439k
Overhead: 36262k -> 36193k
GGC runs: 590 -> 591
Pre-IPA-Garbage: 157189k
Pre-IPA-Leak: 88095k -> 88095k
Pre-IPA-Overhead: 17796k -> 17796k
Post-IPA-Garbage: 157189k
Post-IPA-Leak: 88095k -> 88095k
Post-IPA-Overhead: 17796k -> 17796k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 127715k -> 127863k
Peak memory use before GGC: 85608k -> 85613k
Peak memory use after GGC: 84748k -> 84749k
Maximum of released memory in single GGC run: 16599k
Garbage: 381688k -> 380821k
Leak: 48869k -> 48883k
Overhead: 38452k -> 38393k
GGC runs: 611 -> 610
Pre-IPA-Garbage: 159924k
Pre-IPA-Leak: 88378k -> 88378k
Pre-IPA-Overhead: 18046k -> 18046k
Post-IPA-Garbage: 159924k
Post-IPA-Leak: 88378k -> 88378k
Post-IPA-Overhead: 18046k -> 18046k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 380435k
Peak memory use before GGC: 101209k
Peak memory use after GGC: 56862k
Maximum of released memory in single GGC run: 50583k
Garbage: 178951k
Leak: 6098k
Overhead: 30783k
GGC runs: 106
Testing has produced no results
Testing has produced no results
comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
Overall memory needed: 381235k
Peak memory use before GGC: 101839k
Peak memory use after GGC: 57493k
Maximum of released memory in single GGC run: 50582k
Garbage: 179066k
Leak: 7828k
Overhead: 31215k
GGC runs: 111
Testing has produced no results
Testing has produced no results
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Overall memory needed: 437931k -> 437991k
Peak memory use before GGC: 78685k
Peak memory use after GGC: 70436k
Maximum of released memory in single GGC run: 37594k
Garbage: 234296k -> 234296k
Leak: 15902k
Overhead: 35589k
GGC runs: 105
Pre-IPA-Garbage: 52924k
Pre-IPA-Leak: 49232k
Pre-IPA-Overhead: 7120k
Post-IPA-Garbage: 52924k
Post-IPA-Leak: 49232k
Post-IPA-Overhead: 7120k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory needed: 358371k -> 357903k
Peak memory use before GGC: 75423k
Peak memory use after GGC: 70437k
Maximum of released memory in single GGC run: 32242k
Garbage: 245002k -> 245002k
Leak: 16074k
Overhead: 38757k
GGC runs: 116
Pre-IPA-Garbage: 91836k
Pre-IPA-Leak: 77290k
Pre-IPA-Overhead: 11793k
Post-IPA-Garbage: 91836k
Post-IPA-Leak: 77290k
Post-IPA-Overhead: 11793k
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Overall memory needed: 1197859k -> 1196659k
Peak memory use before GGC: 136584k
Peak memory use after GGC: 127942k
Maximum of released memory in single GGC run: 59911k
Garbage: 371518k
Leak: 24376k
Overhead: 49888k
GGC runs: 103
Pre-IPA-Garbage: 91836k
Pre-IPA-Leak: 77290k
Pre-IPA-Overhead: 11793k
Post-IPA-Garbage: 91836k
Post-IPA-Leak: 77290k
Post-IPA-Overhead: 11793k
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2008-02-21 16:04:56.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2008-02-22 07:59:48.000000000 +0000
@@ -1,3 +1,39 @@
+2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR c/19999
+ * c-typeck.c (build_binary_op): Warn about floating point
+ comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
+
+2008-02-21 Janis Johnson <janis187@us.ibm.com>
+
+ PR target/34526
+ * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
+ (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
+ add vrsave.
+ (rs6000_override_options): Set altivec_abi as default, not override,
+ for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
+ TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
+ is used; use new member spe_abi.
+ (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
+ spe_abi and altivec_abi.
+
+2008-02-22 Tomas Bily <tbily@suse.cz>
+
+ * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
+
+2008-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/35273
+ * config.build (build_file_translate): Set to `CMD //c' only if
+ it works.
+ * Makefile.in (build_file_translate): Improve comment.
+
+2008-02-21 Jan Hubicka <jh@suse.cz>
+
+ * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
+ PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
+ PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
+
2008-02-21 Michael Matz <matz@suse.de>
PR target/35264
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2008-02-20 08:05:22.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2008-02-22 07:59:47.000000000 +0000
@@ -1,3 +1,9 @@
+2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR c/19999
+ * typeck.c (build_binary_op): Warn about floating point
+ comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
+
2008-02-19 Jason Merrill <jason@redhat.com>
PR c++/34950
The results can be reproduced by building a 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.
Your testing script.