A recent patch increased GCC's memory consumption!
gcctest@suse.de
gcctest@suse.de
Tue Jan 29 11:57:00 GMT 2008
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: 32915k
Peak memory use before GGC: 16345k
Peak memory use after GGC: 16161k
Maximum of released memory in single GGC run: 1362k
Garbage: 51465k
Leak: 5660k
Overhead: 5782k
GGC runs: 443
Pre-IPA-Garbage: 13923k
Pre-IPA-Leak: 17182k
Pre-IPA-Overhead: 2129k
Post-IPA-Garbage: 13923k
Post-IPA-Leak: 17182k
Post-IPA-Overhead: 2129k
comparing combine.c compilation at -O2 level:
Overall memory needed: 35775k
Peak memory use before GGC: 16446k
Peak memory use after GGC: 16280k
Maximum of released memory in single GGC run: 1316k
Garbage: 71112k
Leak: 5985k
Overhead: 8062k
GGC runs: 512
Pre-IPA-Garbage: 14080k
Pre-IPA-Leak: 17247k
Pre-IPA-Overhead: 2144k
Post-IPA-Garbage: 14080k
Post-IPA-Leak: 17247k
Post-IPA-Overhead: 2144k
comparing combine.c compilation at -O3 level:
Overall memory needed: 39043k
Peak memory use before GGC: 16623k
Peak memory use after GGC: 16301k
Maximum of released memory in single GGC run: 2063k
Garbage: 93114k
Leak: 6109k
Overhead: 10685k
GGC runs: 546
Pre-IPA-Garbage: 14086k
Pre-IPA-Leak: 17267k
Pre-IPA-Overhead: 2146k
Post-IPA-Garbage: 14086k
Post-IPA-Leak: 17267k
Post-IPA-Overhead: 2146k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 137443k
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
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: 143023k
Peak memory use before GGC: 56211k
Peak memory use after GGC: 49983k
Maximum of released memory in single GGC run: 23976k
Garbage: 206434k
Leak: 9275k
Overhead: 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:
Overall memory needed: 184487k
Peak memory use before GGC: 56850k
Peak memory use after GGC: 51570k
Maximum of released memory in single GGC run: 22370k
Garbage: 246629k
Leak: 10362k
Overhead: 30342k
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:
Overall memory needed: 190715k
Peak memory use before GGC: 68033k
Peak memory use after GGC: 62277k
Maximum of released memory in single GGC run: 22870k
Garbage: 274492k
Leak: 10399k
Overhead: 32131k
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: 149536k
Peak memory use before GGC: 84844k
Peak memory use after GGC: 84004k
Maximum of released memory in single GGC run: 17148k
Garbage: 201068k
Leak: 48167k
Overhead: 24077k
GGC runs: 417
Pre-IPA-Garbage: 109656k
Pre-IPA-Leak: 71354k
Pre-IPA-Overhead: 12149k
Post-IPA-Garbage: 109656k
Post-IPA-Leak: 71354k
Post-IPA-Overhead: 12149k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 169404k
Peak memory use before GGC: 96057k
Peak memory use after GGC: 95106k
Maximum of released memory in single GGC run: 17205k
Garbage: 206714k
Leak: 69892k
Overhead: 29063k
GGC runs: 391
Pre-IPA-Garbage: 110300k
Pre-IPA-Leak: 84635k
Pre-IPA-Overhead: 14725k
Post-IPA-Garbage: 110300k
Post-IPA-Leak: 84635k
Post-IPA-Overhead: 14725k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Peak amount of GGC memory allocated before garbage collecting increased from 84526k to 84646k, overall 0.14%
Peak amount of GGC memory still allocated after garbage collecting increased from 83674k to 83795k, overall 0.14%
Amount of produced GGC garbage increased from 290478k to 290787k, overall 0.11%
Overall memory needed: 123311k -> 123395k
Peak memory use before GGC: 84526k -> 84646k
Peak memory use after GGC: 83674k -> 83795k
Maximum of released memory in single GGC run: 16325k
Garbage: 290478k -> 290787k
Leak: 47417k -> 47413k
Overhead: 29395k -> 29426k
GGC runs: 514
Amount of memory referenced pre-ipa increased from 88333k to 88460k, overall 0.14%
Pre-IPA-Garbage: 155088k -> 155072k
Pre-IPA-Leak: 88333k -> 88460k
Pre-IPA-Overhead: 17591k -> 17597k
Amount of memory referenced post-ipa increased from 88333k to 88460k, overall 0.14%
Post-IPA-Garbage: 155088k -> 155072k
Post-IPA-Leak: 88333k -> 88460k
Post-IPA-Overhead: 17591k -> 17597k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Peak amount of GGC memory allocated before garbage collecting increased from 84744k to 84892k, overall 0.17%
Amount of produced GGC garbage increased from 357660k to 358720k, overall 0.30%
Overall memory needed: 124219k -> 124339k
Peak memory use before GGC: 84744k -> 84892k
Peak memory use after GGC: 83904k -> 83977k
Maximum of released memory in single GGC run: 16363k
Garbage: 357660k -> 358720k
Leak: 48357k -> 48361k
Overhead: 36423k -> 36471k
GGC runs: 588
Amount of memory referenced pre-ipa increased from 88461k to 88594k, overall 0.15%
Pre-IPA-Garbage: 158356k -> 158420k
Pre-IPA-Leak: 88461k -> 88594k
Pre-IPA-Overhead: 17937k -> 17949k
Amount of memory referenced post-ipa increased from 88461k to 88594k, overall 0.15%
Post-IPA-Garbage: 158356k -> 158420k
Post-IPA-Leak: 88461k -> 88594k
Post-IPA-Overhead: 17937k -> 17949k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Peak amount of GGC memory allocated before garbage collecting increased from 85632k to 86076k, overall 0.52%
Peak amount of GGC memory still allocated after garbage collecting increased from 84736k to 85212k, overall 0.56%
Amount of produced GGC garbage increased from 384810k to 385451k, overall 0.17%
Overall memory needed: 126903k -> 126967k
Peak memory use before GGC: 85632k -> 86076k
Peak memory use after GGC: 84736k -> 85212k
Maximum of released memory in single GGC run: 16722k
Garbage: 384810k -> 385451k
Leak: 48965k -> 48969k
Overhead: 38662k -> 38675k
GGC runs: 617 -> 620
Amount of memory referenced pre-ipa increased from 88740k to 88874k, overall 0.15%
Pre-IPA-Garbage: 161157k -> 161224k
Pre-IPA-Leak: 88740k -> 88874k
Pre-IPA-Overhead: 18191k -> 18203k
Amount of memory referenced post-ipa increased from 88740k to 88874k, overall 0.15%
Post-IPA-Garbage: 161157k -> 161224k
Post-IPA-Leak: 88740k -> 88874k
Post-IPA-Overhead: 18191k -> 18203k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 380432k
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: 381232k
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: 438587k
Peak memory use before GGC: 78857k
Peak memory use after GGC: 70436k
Maximum of released memory in single GGC run: 37753k
Garbage: 234534k
Leak: 16073k
Overhead: 35581k
GGC runs: 105
Pre-IPA-Garbage: 52924k
Pre-IPA-Leak: 49245k
Pre-IPA-Overhead: 7121k
Post-IPA-Garbage: 52924k
Post-IPA-Leak: 49245k
Post-IPA-Overhead: 7121k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory needed: 359427k
Peak memory use before GGC: 75423k
Peak memory use after GGC: 70437k
Maximum of released memory in single GGC run: 32251k
Garbage: 245332k
Leak: 16245k
Overhead: 38769k
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: 1196459k
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-01-28 17:00:35.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2008-01-29 08:57:14.000000000 +0000
@@ -1,3 +1,36 @@
+2008-01-28 Andy Hutchinson <hutchinsonandy@netscape.net>
+
+ PR target/34412
+ * config/avr/avr.c (expand_prologue): Use correct QI mode frame
+ pointer for tiny stack.
+
+2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
+
+2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * config/vx-common.h: Fix typo in comment.
+
+2008-01-28 Ian Lance Taylor <iant@google.com>
+
+ PR c++/34862
+ PR c++/33407
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
+ coalesce pointers if they have different DECL_NO_TBAA_P values.
+ * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
+ between variables with different DECL_NO_TBAA_P values.
+
+2008-01-28 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR 31535
+ * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
+ are not legitimate small data references on SPE targets.
+
+2008-01-28 David Daney <ddaney@avtrex.com>
+
+ * doc/install.texi (mips-*-*): Recommend binutils 2.18.
+
2008-01-28 David Daney <ddaney@avtrex.com>
* doc/install.texi (--disable-libgcj-bc): Reword documentation.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2008-01-28 17:00:35.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2008-01-29 08:56:52.000000000 +0000
@@ -1,3 +1,8 @@
+2008-01-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/35007
+ * class.c (build_base_path): Fix !want_pointer case.
+
2008-01-27 Jason Merrill <jason@redhat.com>
PR c++/27177
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.
More information about the Gcc-regression
mailing list