This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

A recent patch increased GCC's memory consumption in some cases!


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: 8184k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1217k
    Maximum of released memory in single GGC run: 134k
    Garbage: 218k
    Leak: 1221k
    Overhead: 136k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O0 -g level:
    Overall memory needed: 8428k
    Peak memory use before GGC: 1319k
    Peak memory use after GGC: 1245k
    Maximum of released memory in single GGC run: 133k
    Garbage: 220k
    Leak: 1254k
    Overhead: 141k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O1 level:
    Overall memory needed: 8240k -> 8236k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1217k
    Maximum of released memory in single GGC run: 134k
    Garbage: 221k
    Leak: 1221k
    Overhead: 137k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O2 level:
    Overall memory needed: 8456k -> 8468k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1218k
    Maximum of released memory in single GGC run: 135k
    Garbage: 226k
    Leak: 1222k
    Overhead: 138k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1225k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1225k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O3 level:
    Overall memory needed: 8460k -> 8472k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1218k
    Maximum of released memory in single GGC run: 135k
    Garbage: 226k
    Leak: 1222k
    Overhead: 138k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1225k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1225k
    Post-IPA-Overhead: 135k

comparing combine.c compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 18038k to 18063k, overall 0.14%
  Amount of memory still referenced at the end of compilation increased from 5638k to 5792k, overall 2.74%
    Overall memory needed: 32028k -> 32044k
    Peak memory use before GGC: 18038k -> 18063k
    Peak memory use after GGC: 17774k -> 17791k
    Maximum of released memory in single GGC run: 1864k -> 1842k
    Garbage: 39872k -> 39592k
    Leak: 5638k -> 5792k
    Overhead: 5267k -> 5267k
    GGC runs: 339 -> 337
    Pre-IPA-Garbage: 12567k -> 12430k
    Pre-IPA-Leak: 19386k
    Pre-IPA-Overhead: 2624k
    Post-IPA-Garbage: 12567k -> 12430k
    Post-IPA-Leak: 19386k
    Post-IPA-Overhead: 2624k

comparing combine.c compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 19955k to 19980k, overall 0.13%
  Amount of memory still referenced at the end of compilation increased from 8919k to 9082k, overall 1.82%
    Overall memory needed: 34044k -> 34072k
    Peak memory use before GGC: 19955k -> 19980k
    Peak memory use after GGC: 19630k -> 19646k
    Maximum of released memory in single GGC run: 1874k -> 1851k
    Garbage: 40147k -> 39879k
    Leak: 8919k -> 9082k
    Overhead: 6084k -> 6084k
    GGC runs: 321 -> 320
    Pre-IPA-Garbage: 12666k -> 12529k
    Pre-IPA-Leak: 21659k
    Pre-IPA-Overhead: 3114k
    Post-IPA-Garbage: 12666k -> 12529k
    Post-IPA-Leak: 21659k
    Post-IPA-Overhead: 3114k

comparing combine.c compilation at -O1 level:
  Amount of memory still referenced at the end of compilation increased from 5631k to 5795k, overall 2.92%
    Overall memory needed: 31132k -> 31076k
    Peak memory use before GGC: 15667k -> 15657k
    Peak memory use after GGC: 15487k -> 15482k
    Maximum of released memory in single GGC run: 1394k -> 1393k
    Garbage: 47119k -> 46656k
    Leak: 5631k -> 5795k
    Overhead: 6089k -> 6090k
    GGC runs: 404 -> 401
    Pre-IPA-Garbage: 13442k -> 13169k
    Pre-IPA-Leak: 16877k
    Pre-IPA-Overhead: 2533k
    Post-IPA-Garbage: 13442k -> 13169k
    Post-IPA-Leak: 16877k
    Post-IPA-Overhead: 2533k

comparing combine.c compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 15775k to 15800k, overall 0.16%
  Peak amount of GGC memory still allocated after garbage collecting increased from 15608k to 15637k, overall 0.19%
  Amount of memory still referenced at the end of compilation increased from 5797k to 5964k, overall 2.88%
    Overall memory needed: 31880k -> 32180k
    Peak memory use before GGC: 15775k -> 15800k
    Peak memory use after GGC: 15608k -> 15637k
    Maximum of released memory in single GGC run: 1356k -> 1357k
    Garbage: 61183k -> 60721k
    Leak: 5797k -> 5964k
    Overhead: 8150k -> 8146k
    GGC runs: 475 -> 471
    Pre-IPA-Garbage: 13610k -> 13336k
    Pre-IPA-Leak: 16954k -> 16957k
    Pre-IPA-Overhead: 2554k
    Post-IPA-Garbage: 13610k -> 13336k
    Post-IPA-Leak: 16954k -> 16957k
    Post-IPA-Overhead: 2554k

comparing combine.c compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 15807k to 15833k, overall 0.16%
  Peak amount of GGC memory still allocated after garbage collecting increased from 15650k to 15673k, overall 0.15%
  Amount of memory still referenced at the end of compilation increased from 5669k to 5833k, overall 2.89%
    Overall memory needed: 32616k -> 32692k
    Peak memory use before GGC: 15807k -> 15833k
    Peak memory use after GGC: 15650k -> 15673k
    Maximum of released memory in single GGC run: 1814k
    Garbage: 76673k -> 76188k
    Leak: 5669k -> 5833k
    Overhead: 9940k -> 9939k
    GGC runs: 508 -> 506
    Pre-IPA-Garbage: 13611k -> 13336k
    Pre-IPA-Leak: 16965k
    Pre-IPA-Overhead: 2555k
    Post-IPA-Garbage: 13611k -> 13336k
    Post-IPA-Leak: 16965k
    Post-IPA-Overhead: 2555k

comparing insn-attrtab.c compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 65872k to 65981k, overall 0.17%
  Peak amount of GGC memory still allocated after garbage collecting increased from 53242k to 53351k, overall 0.20%
  Amount of produced GGC garbage decreased from 134295k to 105215k, overall -27.64%
  Amount of memory still referenced at the end of compilation increased from 7488k to 35563k, overall 374.90%
    Overall memory needed: 158148k -> 158012k
    Peak memory use before GGC: 65872k -> 65981k
    Peak memory use after GGC: 53242k -> 53351k
    Maximum of released memory in single GGC run: 28568k -> 16942k
    Garbage: 134295k -> 105215k
    Leak: 7488k -> 35563k
    Overhead: 16158k -> 16157k
    GGC runs: 264 -> 251
    Pre-IPA-Garbage: 39223k -> 38224k
    Pre-IPA-Leak: 55908k
    Pre-IPA-Overhead: 8653k
    Post-IPA-Garbage: 39223k -> 38224k
    Post-IPA-Leak: 55908k
    Post-IPA-Overhead: 8653k

comparing insn-attrtab.c compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 67146k to 67255k, overall 0.16%
  Peak amount of GGC memory still allocated after garbage collecting increased from 54514k to 54623k, overall 0.20%
  Amount of produced GGC garbage decreased from 134774k to 105695k, overall -27.51%
  Amount of memory still referenced at the end of compilation increased from 9139k to 37213k, overall 307.19%
    Overall memory needed: 159452k -> 159324k
    Peak memory use before GGC: 67146k -> 67255k
    Peak memory use after GGC: 54514k -> 54623k
    Maximum of released memory in single GGC run: 28568k -> 16943k
    Garbage: 134774k -> 105695k
    Leak: 9139k -> 37213k
    Overhead: 16613k -> 16613k
    GGC runs: 257 -> 246
    Pre-IPA-Garbage: 39280k -> 38281k
    Pre-IPA-Leak: 57449k
    Pre-IPA-Overhead: 8989k
    Post-IPA-Garbage: 39280k -> 38281k
    Post-IPA-Leak: 57449k
    Post-IPA-Overhead: 8989k

comparing insn-attrtab.c compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 50247k to 50578k, overall 0.66%
  Peak amount of GGC memory still allocated after garbage collecting increased from 43080k to 43415k, overall 0.78%
  Amount of memory still referenced at the end of compilation increased from 6868k to 8079k, overall 17.62%
    Overall memory needed: 135140k -> 135116k
    Peak memory use before GGC: 50247k -> 50578k
    Peak memory use after GGC: 43080k -> 43415k
    Maximum of released memory in single GGC run: 23393k -> 22952k
    Garbage: 184466k -> 181256k
    Leak: 6868k -> 8079k
    Overhead: 25327k -> 25327k
    GGC runs: 305 -> 302
  Amount of produced pre-ipa-GGC garbage decreased from 45200k to 43202k, overall -4.62%
    Pre-IPA-Garbage: 45200k -> 43202k
    Pre-IPA-Leak: 43436k
    Pre-IPA-Overhead: 8052k
  Amount of produced post-ipa-GGC garbage decreased from 45200k to 43202k, overall -4.62%
    Post-IPA-Garbage: 45200k -> 43202k
    Post-IPA-Leak: 43436k
    Post-IPA-Overhead: 8052k

comparing insn-attrtab.c compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 50268k to 50580k, overall 0.62%
  Peak amount of GGC memory still allocated after garbage collecting increased from 44095k to 44410k, overall 0.71%
  Amount of memory still referenced at the end of compilation increased from 6875k to 8063k, overall 17.28%
    Overall memory needed: 149976k -> 150196k
    Peak memory use before GGC: 50268k -> 50580k
    Peak memory use after GGC: 44095k -> 44410k
    Maximum of released memory in single GGC run: 22007k -> 21566k
    Garbage: 216398k -> 213204k
    Leak: 6875k -> 8063k
    Overhead: 31012k -> 31010k
    GGC runs: 340 -> 335
  Amount of produced pre-ipa-GGC garbage decreased from 45273k to 43275k, overall -4.62%
    Pre-IPA-Garbage: 45273k -> 43275k
    Pre-IPA-Leak: 43442k
    Pre-IPA-Overhead: 8062k
  Amount of produced post-ipa-GGC garbage decreased from 45273k to 43275k, overall -4.62%
    Post-IPA-Garbage: 45273k -> 43275k
    Post-IPA-Leak: 43442k
    Post-IPA-Overhead: 8062k

comparing insn-attrtab.c compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 61637k to 61949k, overall 0.51%
  Peak amount of GGC memory still allocated after garbage collecting increased from 58536k to 58849k, overall 0.53%
  Amount of memory still referenced at the end of compilation increased from 6883k to 8071k, overall 17.26%
    Overall memory needed: 162692k -> 165196k
    Peak memory use before GGC: 61637k -> 61949k
    Peak memory use after GGC: 58536k -> 58849k
    Maximum of released memory in single GGC run: 24303k -> 23862k
    Garbage: 246673k -> 243482k
    Leak: 6883k -> 8071k
    Overhead: 34457k -> 34455k
    GGC runs: 343 -> 341
  Amount of produced pre-ipa-GGC garbage decreased from 45273k to 43275k, overall -4.62%
    Pre-IPA-Garbage: 45273k -> 43275k
    Pre-IPA-Leak: 43442k
    Pre-IPA-Overhead: 8062k
  Amount of produced post-ipa-GGC garbage decreased from 45273k to 43275k, overall -4.62%
    Post-IPA-Garbage: 45273k -> 43275k
    Post-IPA-Leak: 43442k
    Post-IPA-Overhead: 8062k

comparing Gerald's testcase PR8361 compilation at -O0 level:
  Amount of memory still referenced at the end of compilation increased from 49807k to 50846k, overall 2.09%
    Overall memory needed: 150357k -> 150611k
    Peak memory use before GGC: 82287k -> 82049k
    Peak memory use after GGC: 81468k -> 81236k
    Maximum of released memory in single GGC run: 15786k -> 15775k
    Garbage: 209525k -> 207469k
    Leak: 49807k -> 50846k
    Overhead: 27261k -> 27261k
    GGC runs: 420 -> 419
    Pre-IPA-Garbage: 113380k -> 112337k
    Pre-IPA-Leak: 87309k -> 87318k
    Pre-IPA-Overhead: 14978k
    Post-IPA-Garbage: 113380k -> 112337k
    Post-IPA-Leak: 87309k -> 87318k
    Post-IPA-Overhead: 14978k

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
  Amount of memory still referenced at the end of compilation increased from 76369k to 77408k, overall 1.36%
    Overall memory needed: 167973k -> 168099k
    Peak memory use before GGC: 95772k -> 95769k
    Peak memory use after GGC: 94820k
    Maximum of released memory in single GGC run: 16212k -> 16204k
    Garbage: 215173k -> 213138k
    Leak: 76369k -> 77408k
    Overhead: 33924k -> 33925k
    GGC runs: 391 -> 389
    Pre-IPA-Garbage: 114002k -> 112959k
    Pre-IPA-Leak: 103824k -> 103832k
    Pre-IPA-Overhead: 18481k
    Post-IPA-Garbage: 114002k -> 112959k
    Post-IPA-Leak: 103824k -> 103832k
    Post-IPA-Overhead: 18481k

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 82153k to 82842k, overall 0.84%
  Peak amount of GGC memory still allocated after garbage collecting increased from 81337k to 82021k, overall 0.84%
  Amount of memory still referenced at the end of compilation increased from 46454k to 47509k, overall 2.27%
    Overall memory needed: 111791k -> 113193k
    Peak memory use before GGC: 82153k -> 82842k
    Peak memory use after GGC: 81337k -> 82021k
    Maximum of released memory in single GGC run: 16093k -> 16084k
    Garbage: 289321k -> 286136k
    Leak: 46454k -> 47509k
    Overhead: 32511k -> 32507k
    GGC runs: 513 -> 509
  Amount of memory referenced pre-ipa increased from 86076k to 86610k, overall 0.62%
    Pre-IPA-Garbage: 165572k -> 163109k
    Pre-IPA-Leak: 86076k -> 86610k
    Pre-IPA-Overhead: 20476k -> 20476k
  Amount of memory referenced post-ipa increased from 86076k to 86610k, overall 0.62%
    Post-IPA-Garbage: 165572k -> 163109k
    Post-IPA-Leak: 86076k -> 86610k
    Post-IPA-Overhead: 20476k -> 20476k

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 83627k to 84320k, overall 0.83%
  Peak amount of GGC memory still allocated after garbage collecting increased from 82799k to 83479k, overall 0.82%
  Amount of memory still referenced at the end of compilation increased from 46482k to 47545k, overall 2.29%
    Overall memory needed: 114859k -> 114873k
    Peak memory use before GGC: 83627k -> 84320k
    Peak memory use after GGC: 82799k -> 83479k
    Maximum of released memory in single GGC run: 16079k -> 16068k
    Garbage: 343389k -> 340206k
    Leak: 46482k -> 47545k
    Overhead: 39056k -> 39057k
    GGC runs: 581 -> 576
  Amount of memory referenced pre-ipa increased from 86381k to 86946k, overall 0.65%
    Pre-IPA-Garbage: 169625k -> 167132k
    Pre-IPA-Leak: 86381k -> 86946k
    Pre-IPA-Overhead: 20969k
  Amount of memory referenced post-ipa increased from 86381k to 86946k, overall 0.65%
    Post-IPA-Garbage: 169625k -> 167132k
    Post-IPA-Leak: 86381k -> 86946k
    Post-IPA-Overhead: 20969k

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 84259k to 84939k, overall 0.81%
  Peak amount of GGC memory still allocated after garbage collecting increased from 83419k to 84094k, overall 0.81%
  Amount of memory still referenced at the end of compilation increased from 46484k to 47555k, overall 2.30%
    Overall memory needed: 115675k -> 115345k
    Peak memory use before GGC: 84259k -> 84939k
    Peak memory use after GGC: 83419k -> 84094k
    Maximum of released memory in single GGC run: 16079k -> 16068k
    Garbage: 375327k -> 372014k
    Leak: 46484k -> 47555k
    Overhead: 42327k -> 42320k
    GGC runs: 615 -> 608
  Amount of memory referenced pre-ipa increased from 87064k to 87618k, overall 0.64%
    Pre-IPA-Garbage: 169710k -> 167212k
    Pre-IPA-Leak: 87064k -> 87618k
    Pre-IPA-Overhead: 21024k
  Amount of memory referenced post-ipa increased from 87064k to 87618k, overall 0.64%
    Post-IPA-Garbage: 169710k -> 167212k
    Post-IPA-Leak: 87064k -> 87618k
    Post-IPA-Overhead: 21024k

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 78451k to 81875k, overall 4.36%
  Peak amount of GGC memory still allocated after garbage collecting increased from 49385k to 52810k, overall 6.94%
  Amount of produced GGC garbage decreased from 147983k to 142545k, overall -3.81%
  Amount of memory still referenced at the end of compilation increased from 6041k to 10656k, overall 76.37%
    Overall memory needed: 368845k -> 371600k
    Peak memory use before GGC: 78451k -> 81875k
    Peak memory use after GGC: 49385k -> 52810k
    Maximum of released memory in single GGC run: 39187k -> 38147k
    Garbage: 147983k -> 142545k
    Leak: 6041k -> 10656k
    Overhead: 24890k -> 24891k
    GGC runs: 87 -> 86
  Amount of produced pre-ipa-GGC garbage decreased from 13629k to 12562k, overall -8.50%
    Pre-IPA-Garbage: 13629k -> 12562k
    Pre-IPA-Leak: 20190k
    Pre-IPA-Overhead: 2242k
  Amount of produced post-ipa-GGC garbage decreased from 13629k to 12562k, overall -8.50%
    Post-IPA-Garbage: 13629k -> 12562k
    Post-IPA-Leak: 20190k
    Post-IPA-Overhead: 2242k

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 79148k to 82572k, overall 4.33%
  Peak amount of GGC memory still allocated after garbage collecting increased from 50082k to 53506k, overall 6.84%
  Amount of produced GGC garbage decreased from 148084k to 142646k, overall -3.81%
  Amount of memory still referenced at the end of compilation increased from 8084k to 12698k, overall 57.08%
    Overall memory needed: 369633k -> 372480k
    Peak memory use before GGC: 79148k -> 82572k
    Peak memory use after GGC: 50082k -> 53506k
    Maximum of released memory in single GGC run: 39172k -> 38132k
    Garbage: 148084k -> 142646k
    Leak: 8084k -> 12698k
    Overhead: 25474k -> 25474k
    GGC runs: 93 -> 92
  Amount of produced pre-ipa-GGC garbage decreased from 13637k to 12570k, overall -8.49%
    Pre-IPA-Garbage: 13637k -> 12570k
    Pre-IPA-Leak: 20439k
    Pre-IPA-Overhead: 2296k
  Amount of produced post-ipa-GGC garbage decreased from 13637k to 12570k, overall -8.49%
    Post-IPA-Garbage: 13637k -> 12570k
    Post-IPA-Leak: 20439k
    Post-IPA-Overhead: 2296k

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 71433k to 73624k, overall 3.07%
  Peak amount of GGC memory still allocated after garbage collecting increased from 63951k to 66143k, overall 3.43%
  Amount of produced GGC garbage decreased from 228440k to 220251k, overall -3.72%
  Amount of memory still referenced at the end of compilation increased from 5426k to 11159k, overall 105.65%
    Overall memory needed: 228608k -> 230768k
    Peak memory use before GGC: 71433k -> 73624k
    Peak memory use after GGC: 63951k -> 66143k
    Maximum of released memory in single GGC run: 35356k -> 35352k
    Garbage: 228440k -> 220251k
    Leak: 5426k -> 11159k
    Overhead: 30799k -> 30799k
    GGC runs: 98 -> 97
  Amount of produced pre-ipa-GGC garbage decreased from 51798k to 48349k, overall -7.13%
  Amount of memory referenced pre-ipa increased from 62151k to 63526k, overall 2.21%
    Pre-IPA-Garbage: 51798k -> 48349k
    Pre-IPA-Leak: 62151k -> 63526k
    Pre-IPA-Overhead: 8965k
  Amount of produced post-ipa-GGC garbage decreased from 51798k to 48349k, overall -7.13%
  Amount of memory referenced post-ipa increased from 62151k to 63526k, overall 2.21%
    Post-IPA-Garbage: 51798k -> 48349k
    Post-IPA-Leak: 62151k -> 63526k
    Post-IPA-Overhead: 8965k

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 71433k to 73624k, overall 3.07%
  Peak amount of GGC memory still allocated after garbage collecting increased from 63952k to 66143k, overall 3.43%
  Amount of produced GGC garbage decreased from 256418k to 248506k, overall -3.18%
  Amount of memory still referenced at the end of compilation increased from 5520k to 10981k, overall 98.92%
    Overall memory needed: 359740k -> 364240k
    Peak memory use before GGC: 71433k -> 73624k
    Peak memory use after GGC: 63952k -> 66143k
    Maximum of released memory in single GGC run: 36674k
    Garbage: 256418k -> 248506k
    Leak: 5520k -> 10981k
    Overhead: 36877k -> 36877k
    GGC runs: 109 -> 106
  Amount of memory referenced pre-ipa increased from 73071k to 73930k, overall 1.18%
    Pre-IPA-Garbage: 111829k -> 109693k
    Pre-IPA-Leak: 73071k -> 73930k
    Pre-IPA-Overhead: 15408k
  Amount of memory referenced post-ipa increased from 73071k to 73930k, overall 1.18%
    Post-IPA-Garbage: 111829k -> 109693k
    Post-IPA-Leak: 73071k -> 73930k
    Post-IPA-Overhead: 15408k

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
  Peak amount of GGC memory allocated before garbage collecting increased from 138535k to 139561k, overall 0.74%
  Peak amount of GGC memory still allocated after garbage collecting increased from 125812k to 126838k, overall 0.82%
  Amount of memory still referenced at the end of compilation increased from 5686k to 6760k, overall 18.89%
    Overall memory needed: 1023488k -> 1024136k
    Peak memory use before GGC: 138535k -> 139561k
    Peak memory use after GGC: 125812k -> 126838k
    Maximum of released memory in single GGC run: 62493k -> 62395k
    Garbage: 369372k -> 366999k
    Leak: 5686k -> 6760k
    Overhead: 45401k
    GGC runs: 106
  Amount of memory referenced pre-ipa increased from 73071k to 73930k, overall 1.18%
    Pre-IPA-Garbage: 111829k -> 109693k
    Pre-IPA-Leak: 73071k -> 73930k
    Pre-IPA-Overhead: 15408k
  Amount of memory referenced post-ipa increased from 73071k to 73930k, overall 1.18%
    Post-IPA-Garbage: 111829k -> 109693k
    Post-IPA-Leak: 73071k -> 73930k
    Post-IPA-Overhead: 15408k

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2008-09-13 11:25:37.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2008-09-14 03:44:10.000000000 +0000
@@ -1,3 +1,69 @@
+2008-09-14  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* config/i386/cygming-crtend.c (register_frame_ctor): If
+	DEFAULT_USE_CXA_ATEXIT, register __gcc_deregister_frame
+	directly with atexit.
+	(deregister_frame_ctor): Rename to ...
+	(deregister_frame_dtor): Use to call __gcc_deregister_frame
+	if !DEFAULT_USE_CXA_ATEXIT.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c: Include value-prof.h
+	* Makefile.in (cgraph.o): Add value-prof.h dependency.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/32581
+	* tree-profile.c (add_abnormal_goto_call_edges): New function.
+	(tree_gen_interval_profiler, tree_gen_pow2_profiler,
+	tree_gen_one_value_profiler, tree_gen_average_profiler,
+	tree_gen_ic_func_profiler, tree_gen_ior_profiler): Use it.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+	* i386.c (ix86_expand_movmem, ix86_expand_movstr): Avoid processing too
+	many bytes on misalligned blocks.
+
+2008-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* doc/cfg.texi: Fix some typos.
+	* doc/extend.texi: Likewise.
+	* doc/install.texi: Likewise.
+	* doc/invoke.texi: Likewise.
+	* doc/rtl.texi: Likewise.
+	* doc/tree-ssa.texi: Likewise.
+
+2008-09-13  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/30141
+	* tree-nested.c (finalize_nesting_tree_1): Generate valid
+	gimple stores for memory rhs.
+
+2008-09-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR rtl-optimization/37489
+	* cse.c (fold_rtx): Don't return const_true_rtx for float
+	compare if FLOAT_STORE_FLAG_VALUE is undefined.
+
+2008-09-13  Jan Hubicka  <jh@suse.cz>
+
+	PR tree-optimization/37392
+	* tree-inline.c (remap_gimple_stmt): Do not remap return value.
+
+2008-09-13  Martin Jambor  <mjambor@suse.cz>
+	    Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c (free_edges): New variable.
+	(NEXT_FREE_EDGE): New macro.
+	(cgraph_free_edge): New function.
+	(cgraph_remove_edge): Call cgraph_remove_edge_1.
+	(cgraph_node_remove_callees): Likewise.
+	(cgraph_node_remove_callers): Likewise.
+	(cgraph_create_edge): Reuse edges from the free list.  Do not
+	update uid if doing so.
+	(cgraph_remove_*_hook): Add free call.
+
 2008-09-13  Richard Sandiford  <rdsandiford@googlemail.com>
 
 	* ira-color.c (conflict_allocno_vec): Delete.


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]