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: Sun, 06 Jul 2008 19:09:14 +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:
Peak amount of GGC memory allocated before garbage collecting increased from 1157k to 1165k, overall 0.69%
Peak amount of GGC memory still allocated after garbage collecting increased from 1057k to 1063k, overall 0.57%
Amount of produced GGC garbage increased from 242k to 245k, overall 1.23%
Amount of memory still referenced at the end of compilation increased from 1018k to 1024k, overall 0.54%
Overall memory needed: 8135k -> 8137k
Peak memory use before GGC: 1157k -> 1165k
Peak memory use after GGC: 1057k -> 1063k
Maximum of released memory in single GGC run: 130k -> 131k
Garbage: 242k -> 245k
Leak: 1018k -> 1024k
Overhead: 91k -> 92k
GGC runs: 3
Amount of produced pre-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced pre-ipa increased from 1018k to 1024k, overall 0.54%
Pre-IPA-Garbage: 232k -> 235k
Pre-IPA-Leak: 1018k -> 1024k
Pre-IPA-Overhead: 90k -> 90k
Amount of produced post-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced post-ipa increased from 1018k to 1024k, overall 0.54%
Post-IPA-Garbage: 232k -> 235k
Post-IPA-Leak: 1018k -> 1024k
Post-IPA-Overhead: 90k -> 90k
comparing empty function compilation at -O0 -g level:
Peak amount of GGC memory allocated before garbage collecting increased from 1184k to 1193k, overall 0.76%
Peak amount of GGC memory still allocated after garbage collecting increased from 1085k to 1091k, overall 0.55%
Amount of produced GGC garbage increased from 244k to 247k, overall 1.22%
Amount of memory still referenced at the end of compilation increased from 1051k to 1057k, overall 0.53%
Overall memory needed: 8151k -> 8153k
Peak memory use before GGC: 1184k -> 1193k
Peak memory use after GGC: 1085k -> 1091k
Maximum of released memory in single GGC run: 130k -> 131k
Garbage: 244k -> 247k
Leak: 1051k -> 1057k
Overhead: 96k -> 96k
GGC runs: 3
Amount of produced pre-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced pre-ipa increased from 1018k to 1024k, overall 0.54%
Pre-IPA-Garbage: 232k -> 235k
Pre-IPA-Leak: 1018k -> 1024k
Pre-IPA-Overhead: 90k -> 90k
Amount of produced post-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced post-ipa increased from 1018k to 1024k, overall 0.54%
Post-IPA-Garbage: 232k -> 235k
Post-IPA-Leak: 1018k -> 1024k
Post-IPA-Overhead: 90k -> 90k
comparing empty function compilation at -O1 level:
Peak amount of GGC memory allocated before garbage collecting increased from 1157k to 1165k, overall 0.69%
Peak amount of GGC memory still allocated after garbage collecting increased from 1057k to 1063k, overall 0.57%
Amount of produced GGC garbage increased from 246k to 249k, overall 1.21%
Amount of memory still referenced at the end of compilation increased from 1018k to 1024k, overall 0.54%
Overall memory needed: 8227k -> 8229k
Peak memory use before GGC: 1157k -> 1165k
Peak memory use after GGC: 1057k -> 1063k
Maximum of released memory in single GGC run: 130k -> 131k
Garbage: 246k -> 249k
Leak: 1018k -> 1024k
Overhead: 92k -> 93k
GGC runs: 3
Amount of produced pre-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced pre-ipa increased from 1021k to 1026k, overall 0.54%
Pre-IPA-Garbage: 232k -> 235k
Pre-IPA-Leak: 1021k -> 1026k
Pre-IPA-Overhead: 90k -> 91k
Amount of produced post-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced post-ipa increased from 1021k to 1026k, overall 0.54%
Post-IPA-Garbage: 232k -> 235k
Post-IPA-Leak: 1021k -> 1026k
Post-IPA-Overhead: 90k -> 91k
comparing empty function compilation at -O2 level:
Peak amount of GGC memory allocated before garbage collecting increased from 1157k to 1165k, overall 0.69%
Peak amount of GGC memory still allocated after garbage collecting increased from 1058k to 1064k, overall 0.57%
Amount of produced GGC garbage increased from 251k to 254k, overall 1.18%
Amount of memory still referenced at the end of compilation increased from 1019k to 1024k, overall 0.54%
Overall memory needed: 8239k -> 8241k
Peak memory use before GGC: 1157k -> 1165k
Peak memory use after GGC: 1058k -> 1064k
Maximum of released memory in single GGC run: 130k
Garbage: 251k -> 254k
Leak: 1019k -> 1024k
Overhead: 93k -> 94k
GGC runs: 3
Amount of produced pre-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced pre-ipa increased from 1021k to 1027k, overall 0.54%
Pre-IPA-Garbage: 232k -> 235k
Pre-IPA-Leak: 1021k -> 1027k
Pre-IPA-Overhead: 90k -> 91k
Amount of produced post-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced post-ipa increased from 1021k to 1027k, overall 0.54%
Post-IPA-Garbage: 232k -> 235k
Post-IPA-Leak: 1021k -> 1027k
Post-IPA-Overhead: 90k -> 91k
comparing empty function compilation at -O3 level:
Peak amount of GGC memory allocated before garbage collecting increased from 1157k to 1165k, overall 0.69%
Peak amount of GGC memory still allocated after garbage collecting increased from 1058k to 1064k, overall 0.57%
Amount of produced GGC garbage increased from 251k to 254k, overall 1.18%
Amount of memory still referenced at the end of compilation increased from 1019k to 1024k, overall 0.54%
Overall memory needed: 8243k -> 8245k
Peak memory use before GGC: 1157k -> 1165k
Peak memory use after GGC: 1058k -> 1064k
Maximum of released memory in single GGC run: 130k
Garbage: 251k -> 254k
Leak: 1019k -> 1024k
Overhead: 93k -> 94k
GGC runs: 3
Amount of produced pre-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced pre-ipa increased from 1021k to 1027k, overall 0.54%
Pre-IPA-Garbage: 232k -> 235k
Pre-IPA-Leak: 1021k -> 1027k
Pre-IPA-Overhead: 90k -> 91k
Amount of produced post-ipa-GGC garbage increased from 232k to 235k, overall 1.28%
Amount of memory referenced post-ipa increased from 1021k to 1027k, overall 0.54%
Post-IPA-Garbage: 232k -> 235k
Post-IPA-Leak: 1021k -> 1027k
Post-IPA-Overhead: 90k -> 91k
comparing combine.c compilation at -O0 level:
Amount of memory still referenced at the end of compilation increased from 5183k to 5205k, overall 0.41%
Overall memory needed: 27387k -> 27397k
Peak memory use before GGC: 15009k -> 15015k
Peak memory use after GGC: 14747k -> 14752k
Maximum of released memory in single GGC run: 1787k
Garbage: 38094k -> 38090k
Leak: 5183k -> 5205k
Overhead: 4666k -> 4666k
GGC runs: 355 -> 354
Pre-IPA-Garbage: 12904k -> 12907k
Pre-IPA-Leak: 15358k -> 15364k
Pre-IPA-Overhead: 2000k -> 2001k
Post-IPA-Garbage: 12904k -> 12907k
Post-IPA-Leak: 15358k -> 15364k
Post-IPA-Overhead: 2000k -> 2001k
comparing combine.c compilation at -O0 -g level:
Overall memory needed: 29591k -> 29601k
Peak memory use before GGC: 16869k -> 16874k
Peak memory use after GGC: 16638k -> 16644k
Maximum of released memory in single GGC run: 1813k -> 1796k
Garbage: 38463k -> 38462k
Leak: 8481k -> 8470k
Overhead: 5485k -> 5485k
GGC runs: 338 -> 336
Pre-IPA-Garbage: 13004k -> 13007k
Pre-IPA-Leak: 17633k -> 17639k
Pre-IPA-Overhead: 2492k -> 2492k
Post-IPA-Garbage: 13004k -> 13007k
Post-IPA-Leak: 17633k -> 17639k
Post-IPA-Overhead: 2492k -> 2492k
comparing combine.c compilation at -O1 level:
Amount of memory still referenced at the end of compilation increased from 5173k to 5186k, overall 0.26%
Overall memory needed: 30503k -> 30513k
Peak memory use before GGC: 16341k -> 16346k
Peak memory use after GGC: 16176k -> 16181k
Maximum of released memory in single GGC run: 1405k
Garbage: 51440k -> 51437k
Leak: 5173k -> 5186k
Overhead: 5729k -> 5730k
GGC runs: 433 -> 432
Pre-IPA-Garbage: 13939k -> 13942k
Pre-IPA-Leak: 17190k -> 17196k
Pre-IPA-Overhead: 2148k -> 2148k
Post-IPA-Garbage: 13939k -> 13942k
Post-IPA-Leak: 17190k -> 17196k
Post-IPA-Overhead: 2148k -> 2148k
comparing combine.c compilation at -O2 level:
Amount of memory still referenced at the end of compilation increased from 5198k to 5210k, overall 0.24%
Overall memory needed: 32307k -> 32325k
Peak memory use before GGC: 16432k -> 16437k
Peak memory use after GGC: 16266k -> 16272k
Maximum of released memory in single GGC run: 1334k
Garbage: 71677k -> 71684k
Leak: 5198k -> 5210k
Overhead: 8126k -> 8127k
GGC runs: 507 -> 506
Pre-IPA-Garbage: 14088k -> 14091k
Pre-IPA-Leak: 17253k -> 17258k
Pre-IPA-Overhead: 2160k -> 2161k
Post-IPA-Garbage: 14088k -> 14091k
Post-IPA-Leak: 17253k -> 17258k
Post-IPA-Overhead: 2160k -> 2161k
comparing combine.c compilation at -O3 level:
Overall memory needed: 36367k -> 36381k
Peak memory use before GGC: 16453k -> 16458k
Peak memory use after GGC: 16279k -> 16285k
Maximum of released memory in single GGC run: 2369k
Garbage: 91190k -> 91203k
Leak: 5237k -> 5234k
Overhead: 10384k -> 10385k
GGC runs: 538 -> 537
Pre-IPA-Garbage: 14089k -> 14092k
Pre-IPA-Leak: 17264k -> 17269k
Pre-IPA-Overhead: 2162k -> 2162k
Post-IPA-Garbage: 14089k -> 14092k
Post-IPA-Leak: 17264k -> 17269k
Post-IPA-Overhead: 2162k -> 2162k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 141735k -> 141737k
Peak memory use before GGC: 62360k -> 62365k
Peak memory use after GGC: 52695k -> 52700k
Maximum of released memory in single GGC run: 25736k
Garbage: 130343k -> 130346k
Leak: 7081k -> 7087k
Overhead: 14386k -> 14386k
GGC runs: 274 -> 272
Pre-IPA-Garbage: 43125k -> 43128k
Pre-IPA-Leak: 49951k -> 49956k
Pre-IPA-Overhead: 7271k -> 7271k
Post-IPA-Garbage: 43125k -> 43128k
Post-IPA-Leak: 49951k -> 49956k
Post-IPA-Overhead: 7271k -> 7271k
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory needed: 143059k -> 143037k
Peak memory use before GGC: 63635k -> 63640k
Peak memory use after GGC: 53968k -> 53973k
Maximum of released memory in single GGC run: 25737k
Garbage: 130761k -> 130763k
Leak: 8733k -> 8739k
Overhead: 14841k -> 14841k
GGC runs: 266 -> 263
Pre-IPA-Garbage: 43182k -> 43185k
Pre-IPA-Leak: 51494k -> 51499k
Pre-IPA-Overhead: 7607k -> 7607k
Post-IPA-Garbage: 43182k -> 43185k
Post-IPA-Leak: 51494k -> 51499k
Post-IPA-Overhead: 7607k -> 7607k
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 134123k -> 134121k
Peak memory use before GGC: 54738k -> 54744k
Peak memory use after GGC: 49016k -> 49021k
Maximum of released memory in single GGC run: 23290k -> 23291k
Garbage: 206726k -> 206733k
Leak: 6471k -> 6477k
Overhead: 24556k -> 24557k
GGC runs: 314 -> 313
Pre-IPA-Garbage: 50399k -> 50402k
Pre-IPA-Leak: 49465k -> 49470k
Pre-IPA-Overhead: 7465k -> 7466k
Post-IPA-Garbage: 50399k -> 50402k
Post-IPA-Leak: 49465k -> 49470k
Post-IPA-Overhead: 7465k -> 7466k
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 180727k -> 180725k
Peak memory use before GGC: 55423k -> 55428k
Peak memory use after GGC: 50033k -> 50038k
Maximum of released memory in single GGC run: 22130k -> 22129k
Garbage: 246021k -> 246022k
Leak: 6481k -> 6486k
Overhead: 30233k -> 30233k
GGC runs: 349 -> 348
Pre-IPA-Garbage: 50468k -> 50471k
Pre-IPA-Leak: 49470k -> 49475k
Pre-IPA-Overhead: 7472k -> 7473k
Post-IPA-Garbage: 50468k -> 50471k
Post-IPA-Leak: 49470k -> 49475k
Post-IPA-Overhead: 7472k -> 7473k
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 189075k -> 189033k
Peak memory use before GGC: 66914k -> 66921k
Peak memory use after GGC: 63475k -> 63482k
Maximum of released memory in single GGC run: 24138k
Garbage: 273197k -> 273197k
Leak: 6489k -> 6494k
Overhead: 32134k -> 32134k
GGC runs: 352 -> 351
Pre-IPA-Garbage: 50468k -> 50471k
Pre-IPA-Leak: 49470k -> 49475k
Pre-IPA-Overhead: 7472k -> 7473k
Post-IPA-Garbage: 50468k -> 50471k
Post-IPA-Leak: 49470k -> 49475k
Post-IPA-Overhead: 7472k -> 7473k
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 137203k -> 137264k
Peak memory use before GGC: 79966k -> 79972k
Peak memory use after GGC: 79174k -> 79180k
Maximum of released memory in single GGC run: 14878k
Garbage: 198011k -> 198014k
Leak: 47679k -> 47686k
Overhead: 24300k -> 24300k
GGC runs: 425
Pre-IPA-Garbage: 107700k -> 107703k
Pre-IPA-Leak: 68692k -> 68698k
Pre-IPA-Overhead: 12065k -> 12065k
Post-IPA-Garbage: 107700k -> 107703k
Post-IPA-Leak: 68692k -> 68698k
Post-IPA-Overhead: 12065k -> 12065k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 155463k -> 155464k
Peak memory use before GGC: 94251k -> 94257k
Peak memory use after GGC: 93317k -> 93323k
Maximum of released memory in single GGC run: 15679k
Garbage: 203619k -> 203653k
Leak: 74278k -> 74284k
Overhead: 30991k -> 30991k
GGC runs: 391 -> 390
Pre-IPA-Garbage: 108340k -> 108342k
Pre-IPA-Leak: 85262k -> 85268k
Pre-IPA-Overhead: 15603k -> 15604k
Post-IPA-Garbage: 108340k -> 108342k
Post-IPA-Leak: 85262k -> 85268k
Post-IPA-Overhead: 15603k -> 15604k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 109945k -> 110055k
Peak memory use before GGC: 79058k -> 79064k
Peak memory use after GGC: 78216k -> 78222k
Maximum of released memory in single GGC run: 14458k -> 14459k
Garbage: 285910k -> 285925k
Leak: 44469k -> 44475k
Overhead: 28410k -> 28411k
GGC runs: 516
Pre-IPA-Garbage: 149831k -> 149834k
Pre-IPA-Leak: 82336k -> 82343k
Pre-IPA-Overhead: 16663k -> 16663k
Post-IPA-Garbage: 149831k -> 149834k
Post-IPA-Leak: 82336k -> 82343k
Post-IPA-Overhead: 16663k -> 16663k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 112577k -> 112595k
Peak memory use before GGC: 79350k -> 79356k
Peak memory use after GGC: 78563k -> 78569k
Maximum of released memory in single GGC run: 14426k -> 14427k
Garbage: 352160k -> 352036k
Leak: 44605k -> 44588k
Overhead: 35368k -> 35366k
GGC runs: 596 -> 597
Pre-IPA-Garbage: 151426k -> 151425k
Pre-IPA-Leak: 82199k -> 82206k
Pre-IPA-Overhead: 16795k -> 16795k
Post-IPA-Garbage: 151426k -> 151425k
Post-IPA-Leak: 82199k -> 82206k
Post-IPA-Overhead: 16795k -> 16795k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 114925k -> 114975k
Peak memory use before GGC: 80345k -> 80351k
Peak memory use after GGC: 79539k -> 79545k
Maximum of released memory in single GGC run: 14783k
Garbage: 378754k -> 379131k
Leak: 44977k -> 44984k
Overhead: 37574k -> 37630k
GGC runs: 612
Pre-IPA-Garbage: 154057k -> 154062k
Pre-IPA-Leak: 82465k -> 82472k
Pre-IPA-Overhead: 17038k -> 17038k
Post-IPA-Garbage: 154057k -> 154062k
Post-IPA-Leak: 82465k -> 82472k
Post-IPA-Overhead: 17038k -> 17038k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 377300k -> 377303k
Peak memory use before GGC: 100912k -> 100917k
Peak memory use after GGC: 56566k -> 56571k
Maximum of released memory in single GGC run: 50582k
Garbage: 178579k -> 178582k
Leak: 6282k -> 6287k
Overhead: 30603k -> 30603k
GGC runs: 94
Pre-IPA-Garbage: 12151k -> 12154k
Pre-IPA-Leak: 16544k -> 16550k
Pre-IPA-Overhead: 1718k -> 1718k
Post-IPA-Garbage: 12151k -> 12154k
Post-IPA-Leak: 16544k -> 16550k
Post-IPA-Overhead: 1718k -> 1718k
comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
Overall memory needed: 378532k -> 378543k
Peak memory use before GGC: 101611k -> 101616k
Peak memory use after GGC: 57265k -> 57270k
Maximum of released memory in single GGC run: 50582k
Garbage: 178697k -> 178700k
Leak: 8326k -> 8332k
Overhead: 31188k -> 31189k
GGC runs: 103
Pre-IPA-Garbage: 12159k -> 12162k
Pre-IPA-Leak: 16794k -> 16799k
Pre-IPA-Overhead: 1772k -> 1772k
Post-IPA-Garbage: 12159k -> 12162k
Post-IPA-Leak: 16794k -> 16799k
Post-IPA-Overhead: 1772k -> 1772k
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Overall memory needed: 385235k -> 385229k
Peak memory use before GGC: 75659k -> 75664k
Peak memory use after GGC: 67602k -> 67608k
Maximum of released memory in single GGC run: 35733k
Garbage: 247363k -> 247366k
Leak: 7901k -> 7907k
Overhead: 31264k -> 31264k
GGC runs: 105
Pre-IPA-Garbage: 49697k -> 49700k
Pre-IPA-Leak: 63723k -> 63729k
Pre-IPA-Overhead: 6705k -> 6705k
Post-IPA-Garbage: 49697k -> 49700k
Post-IPA-Leak: 63723k -> 63729k
Post-IPA-Overhead: 6705k -> 6705k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory needed: 300819k -> 300897k
Peak memory use before GGC: 75659k -> 75664k
Peak memory use after GGC: 67603k -> 67608k
Maximum of released memory in single GGC run: 32489k
Garbage: 262741k -> 262744k
Leak: 8064k -> 8070k
Overhead: 34382k -> 34382k
GGC runs: 116
Pre-IPA-Garbage: 107693k -> 107695k
Pre-IPA-Leak: 75546k -> 75552k
Pre-IPA-Overhead: 10956k -> 10957k
Post-IPA-Garbage: 107693k -> 107695k
Post-IPA-Leak: 75546k -> 75552k
Post-IPA-Overhead: 10956k -> 10957k
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Overall memory needed: 1068175k -> 1068205k
Peak memory use before GGC: 142484k -> 142490k
Peak memory use after GGC: 129140k -> 129145k
Maximum of released memory in single GGC run: 59679k
Garbage: 356529k -> 356532k
Leak: 11044k -> 11049k
Overhead: 38244k -> 38244k
GGC runs: 101
Pre-IPA-Garbage: 107693k -> 107695k
Pre-IPA-Leak: 75546k -> 75552k
Pre-IPA-Overhead: 10956k -> 10957k
Post-IPA-Garbage: 107693k -> 107695k
Post-IPA-Leak: 75546k -> 75552k
Post-IPA-Overhead: 10956k -> 10957k
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2008-07-05 22:35:29.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2008-07-06 15:20:37.000000000 +0000
@@ -1,3 +1,53 @@
+2008-07-06 Kai Tietz <kai.tietz@onevision.com>
+
+ * config.gcc (extra_headers): Add cross-stdarg.h for target
+ x86_64-*-* and i?86-*-*.
+ * config/i386/cross-stdarg.h: New.
+ * builtins.c (std_fn_abi_va_list): New.
+ (std_canonical_va_list_type): New.
+ (stabilize_va_list): Replace va_list_type_node use by
+ mtarget.canonical_va_list_type.
+ (gimplify_va_arg_expr): Likewise.
+ (expand_builtin_va_copy): Replace va_list_type_node use by
+ mtarget.fn_abi_va_list.
+ * tree-sra.c (is_va_list_type): New helper.
+ (decl_can_be_decomposed_p): Replace
+ va_list_type_node use by is_va_list_type.
+ * tree-ssa-ccp.c (optimize_stdarg_builtin): Likewise.
+ * tree-stdarg.c (execute_optimize_stdarg): Likewise.
+ * c-common.c (c_common_nodes_and_builtins): Use TARGET_ENUM_VA_LIST.
+ * config/i386/i386-protos.h (ix86_get_valist_type): New.
+ (ix86_enum_va_list): New.
+ * config/i386/i386.c (sysv_va_list_type_node): New.
+ (ms_va_list_type_node): New.
+ (ix86_function_type_abi): Remove sorry.
+ (ix86_build_builtin_va_list_abi): New.
+ (ix86_build_builtin_va_list): Call ix86_build_builtin_va_list_abi
+ for 64-bit targets.
+ (ix86_va_start): Replace va_list_type_node by sysv_va_list_type_node.
+ (ix86_init_builtins_va_builtins_abi): New.
+ (ix86_init_builtins): Use ix86_init_builtins_va_builtins_abi
+ for 64-bit targets.
+ (ix86_handle_abi_attribute): New.
+ (attribute_spec): Add sysv_abi and ms_abi.
+ (ix86_fn_abi_va_list): New.
+ (ix86_canonical_va_list_type): New.
+ (ix86_enum_va_list): New.
+ (TARGET_FN_ABI_VA_LIST): New.
+ (TARGET_CANONICAL_VA_LIST_TYPE): New.
+ * config/i386/i386.h (TARGET_ENUM_VA_LIST): New.
+ * doc/tm.texi (TARGET_FN_ABI_VA_LIST): New.
+ (TARGET_CANONICAL_VA_LIST_TYPE): New.
+ (TARGET_ENUM_VA_LIST): New.
+ * expr.h (std_fn_abi_va_list): New.
+ (std_canonical_va_list_type): New.
+ * target-def.h (TARGET_FN_ABI_VA_LIST): New.
+ (TARGET_CANONICAL_VA_LIST_TYPE): New.
+ (TARGET_INITIALIZER): Add TARGET_FN_ABI_VA_LIST and
+ TARGET_CANONICAL_VA_LIST_TYPE.
+ * target.h (struct gcc_target): Add fn_abi_va_list hook
+ and canonical_va_list_type hook.
+
2008-07-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
* fold-const.c (fold_convert_const): Treat OFFSET_TYPE the same as
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.