A recent patch increased GCC's memory consumption!
gcctest@suse.de
gcctest@suse.de
Fri Jan 4 03:16: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 allocated via mmap and sbrk increased from 6629k to 8151k, overall 22.96%
Peak amount of GGC memory still allocated after garbage collecting increased from 993k to 994k, overall 0.10%
Overall memory needed: 6629k -> 8151k
Peak memory use before GGC: 1095k -> 1096k
Peak memory use after GGC: 993k -> 994k
Maximum of released memory in single GGC run: 129k
Garbage: 237k -> 237k
Leak: 951k -> 951k
Overhead: 80k -> 80k
GGC runs: 2
Testing has produced no results
Testing has produced no results
comparing empty function compilation at -O0 -g level:
Overall memory allocated via mmap and sbrk increased from 6645k to 8167k, overall 22.90%
Overall memory needed: 6645k -> 8167k
Peak memory use before GGC: 1122k -> 1123k
Peak memory use after GGC: 1020k -> 1021k
Maximum of released memory in single GGC run: 131k
Garbage: 239k -> 239k
Leak: 983k -> 984k
Overhead: 84k -> 84k
GGC runs: 3
Testing has produced no results
Testing has produced no results
comparing empty function compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 6693k to 8211k, overall 22.68%
Peak amount of GGC memory still allocated after garbage collecting increased from 993k to 994k, overall 0.10%
Overall memory needed: 6693k -> 8211k
Peak memory use before GGC: 1095k -> 1096k
Peak memory use after GGC: 993k -> 994k
Maximum of released memory in single GGC run: 131k
Garbage: 239k -> 239k
Leak: 951k -> 952k
Overhead: 80k -> 80k
GGC runs: 2
Pre-IPA-Garbage: 226k -> 226k
Pre-IPA-Leak: 954k -> 954k
Pre-IPA-Overhead: 79k -> 79k
Post-IPA-Garbage: 226k -> 226k
Post-IPA-Leak: 954k -> 954k
Post-IPA-Overhead: 79k -> 79k
comparing empty function compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 6709k to 8231k, overall 22.69%
Overall memory needed: 6709k -> 8231k
Peak memory use before GGC: 1095k -> 1096k
Peak memory use after GGC: 994k
Maximum of released memory in single GGC run: 134k
Garbage: 242k -> 243k
Leak: 952k -> 953k
Overhead: 81k -> 81k
GGC runs: 2
Pre-IPA-Garbage: 226k -> 226k
Pre-IPA-Leak: 954k -> 955k
Pre-IPA-Overhead: 79k -> 79k
Post-IPA-Garbage: 226k -> 226k
Post-IPA-Leak: 954k -> 955k
Post-IPA-Overhead: 79k -> 79k
comparing empty function compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 6709k to 8231k, overall 22.69%
Overall memory needed: 6709k -> 8231k
Peak memory use before GGC: 1095k -> 1096k
Peak memory use after GGC: 994k
Maximum of released memory in single GGC run: 134k
Garbage: 242k -> 243k
Leak: 952k -> 953k
Overhead: 81k -> 81k
GGC runs: 2
Pre-IPA-Garbage: 226k -> 226k
Pre-IPA-Leak: 954k -> 955k
Pre-IPA-Overhead: 79k -> 79k
Post-IPA-Garbage: 226k -> 226k
Post-IPA-Leak: 954k -> 955k
Post-IPA-Overhead: 79k -> 79k
comparing combine.c compilation at -O0 level:
Overall memory allocated via mmap and sbrk increased from 21177k to 22695k, overall 7.17%
Overall memory needed: 21177k -> 22695k
Peak memory use before GGC: 7806k -> 7809k
Peak memory use after GGC: 7185k -> 7186k
Maximum of released memory in single GGC run: 1550k
Garbage: 37869k -> 37885k
Leak: 5512k -> 5504k
Overhead: 4577k -> 4577k
GGC runs: 371
Testing has produced no results
Testing has produced no results
comparing combine.c compilation at -O0 -g level:
Overall memory allocated via mmap and sbrk increased from 23181k to 24699k, overall 6.55%
Overall memory needed: 23181k -> 24699k
Peak memory use before GGC: 9645k -> 9648k
Peak memory use after GGC: 8953k -> 8954k
Maximum of released memory in single GGC run: 1838k
Garbage: 38229k -> 38228k
Leak: 8317k -> 8318k
Overhead: 5204k -> 5204k
GGC runs: 342
Testing has produced no results
Testing has produced no results
comparing combine.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 31629k to 33143k, overall 4.79%
Amount of memory still referenced at the end of compilation increased from 5659k to 5668k, overall 0.15%
Overall memory needed: 31629k -> 33143k
Peak memory use before GGC: 16344k -> 16345k
Peak memory use after GGC: 16160k -> 16161k
Maximum of released memory in single GGC run: 1367k -> 1368k
Garbage: 51683k -> 51676k
Leak: 5659k -> 5668k
Overhead: 5720k -> 5721k
GGC runs: 443
Pre-IPA-Garbage: 13922k -> 13922k
Pre-IPA-Leak: 17126k -> 17126k
Pre-IPA-Overhead: 2069k -> 2069k
Post-IPA-Garbage: 13922k -> 13922k
Post-IPA-Leak: 17126k -> 17126k
Post-IPA-Overhead: 2069k -> 2069k
comparing combine.c compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 34529k to 36047k, overall 4.40%
Overall memory needed: 34529k -> 36047k
Peak memory use before GGC: 16445k -> 16446k
Peak memory use after GGC: 16279k -> 16280k
Maximum of released memory in single GGC run: 1316k
Garbage: 71700k -> 71727k
Leak: 5985k -> 5990k
Overhead: 8064k -> 8069k
GGC runs: 512 -> 511
Pre-IPA-Garbage: 14079k -> 14079k
Pre-IPA-Leak: 17190k -> 17191k
Pre-IPA-Overhead: 2082k -> 2082k
Post-IPA-Garbage: 14079k -> 14079k
Post-IPA-Leak: 17190k -> 17191k
Post-IPA-Overhead: 2082k -> 2082k
comparing combine.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 37865k to 39399k, overall 4.05%
Peak amount of GGC memory allocated before garbage collecting increased from 16580k to 16628k, overall 0.29%
Overall memory needed: 37865k -> 39399k
Peak memory use before GGC: 16580k -> 16628k
Peak memory use after GGC: 16300k
Maximum of released memory in single GGC run: 2120k -> 2119k
Garbage: 93662k -> 93742k
Leak: 6109k -> 6110k
Overhead: 10663k -> 10676k
GGC runs: 546 -> 547
Pre-IPA-Garbage: 14085k -> 14085k
Pre-IPA-Leak: 17210k -> 17211k
Pre-IPA-Overhead: 2085k -> 2085k
Post-IPA-Garbage: 14085k -> 14085k
Post-IPA-Leak: 17210k -> 17211k
Post-IPA-Overhead: 2085k -> 2085k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 135921k -> 137439k
Peak memory use before GGC: 56998k -> 56999k
Peak memory use after GGC: 31455k -> 31456k
Maximum of released memory in single GGC run: 33256k
Garbage: 128178k -> 128190k
Leak: 8380k -> 8381k
Overhead: 13927k -> 13927k
GGC runs: 292 -> 293
Testing has produced no results
Testing has produced no results
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory needed: 137177k -> 138695k
Peak memory use before GGC: 58140k -> 58141k
Peak memory use after GGC: 32597k -> 32598k
Maximum of released memory in single GGC run: 33256k
Garbage: 128409k -> 128406k
Leak: 10040k -> 10041k
Overhead: 14283k -> 14283k
GGC runs: 289
Testing has produced no results
Testing has produced no results
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 143185k -> 144703k
Peak memory use before GGC: 56210k -> 56211k
Peak memory use after GGC: 49982k -> 49983k
Maximum of released memory in single GGC run: 23977k -> 23976k
Garbage: 206550k -> 206550k
Leak: 9274k -> 9275k
Overhead: 23998k -> 23998k
GGC runs: 315
Pre-IPA-Garbage: 50355k -> 50355k
Pre-IPA-Leak: 49319k -> 49320k
Pre-IPA-Overhead: 7133k -> 7133k
Post-IPA-Garbage: 50355k -> 50355k
Post-IPA-Leak: 49319k -> 49320k
Post-IPA-Overhead: 7133k -> 7133k
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 186589k -> 188103k
Peak memory use before GGC: 56852k -> 56851k
Peak memory use after GGC: 51572k -> 51571k
Maximum of released memory in single GGC run: 22735k -> 22734k
Garbage: 248134k -> 248144k
Leak: 10361k -> 10362k
Overhead: 29756k -> 29757k
GGC runs: 347
Pre-IPA-Garbage: 50426k -> 50427k
Pre-IPA-Leak: 49323k -> 49324k
Pre-IPA-Overhead: 7140k -> 7140k
Post-IPA-Garbage: 50426k -> 50427k
Post-IPA-Leak: 49323k -> 49324k
Post-IPA-Overhead: 7140k -> 7140k
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 190945k -> 192499k
Peak memory use before GGC: 68526k -> 68525k
Peak memory use after GGC: 62279k -> 62278k
Maximum of released memory in single GGC run: 23235k -> 23239k
Garbage: 276085k -> 276085k
Leak: 10399k -> 10399k
Overhead: 31632k -> 31632k
GGC runs: 349
Pre-IPA-Garbage: 50426k -> 50427k
Pre-IPA-Leak: 49323k -> 49324k
Pre-IPA-Overhead: 7140k -> 7140k
Post-IPA-Garbage: 50426k -> 50427k
Post-IPA-Leak: 49323k -> 49324k
Post-IPA-Overhead: 7140k -> 7140k
comparing Gerald's testcase PR8361 compilation at -O0 level:
Peak amount of GGC memory allocated before garbage collecting increased from 84523k to 84849k, overall 0.39%
Peak amount of GGC memory still allocated after garbage collecting increased from 83686k to 84008k, overall 0.38%
Overall memory needed: 147471k -> 149537k
Peak memory use before GGC: 84523k -> 84849k
Peak memory use after GGC: 83686k -> 84008k
Maximum of released memory in single GGC run: 16844k -> 17149k
Garbage: 202407k -> 200953k
Leak: 48152k -> 48173k
Overhead: 23847k -> 23764k
GGC runs: 420 -> 417
Pre-IPA-Garbage: 111123k -> 109655k
Pre-IPA-Leak: 71212k -> 71233k
Pre-IPA-Overhead: 12089k -> 12007k
Post-IPA-Garbage: 111123k -> 109655k
Post-IPA-Leak: 71212k -> 71233k
Post-IPA-Overhead: 12089k -> 12007k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 168259k -> 168857k
Peak memory use before GGC: 96488k -> 96061k
Peak memory use after GGC: 95531k -> 95110k
Maximum of released memory in single GGC run: 17652k -> 17205k
Garbage: 207935k -> 206451k
Leak: 69765k -> 69786k
Overhead: 28833k -> 28750k
GGC runs: 392 -> 391
Pre-IPA-Garbage: 111767k -> 110299k
Pre-IPA-Leak: 84492k -> 84514k
Pre-IPA-Overhead: 14665k -> 14583k
Post-IPA-Garbage: 111767k -> 110299k
Post-IPA-Leak: 84492k -> 84514k
Post-IPA-Overhead: 14665k -> 14583k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 122032k -> 123587k
Peak memory use before GGC: 84497k -> 84518k
Peak memory use after GGC: 83659k -> 83680k
Maximum of released memory in single GGC run: 16328k -> 16324k
Garbage: 294285k -> 292798k
Leak: 47403k -> 47432k
Overhead: 29140k -> 29058k
GGC runs: 521 -> 518
Pre-IPA-Garbage: 156483k -> 155016k
Pre-IPA-Leak: 88226k -> 88246k
Pre-IPA-Overhead: 17299k -> 17217k
Post-IPA-Garbage: 156483k -> 155016k
Post-IPA-Leak: 88226k -> 88246k
Post-IPA-Overhead: 17299k -> 17217k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 125016k -> 126571k
Peak memory use before GGC: 84722k -> 84743k
Peak memory use after GGC: 83877k -> 83898k
Maximum of released memory in single GGC run: 16327k -> 16363k
Garbage: 366262k -> 364558k
Leak: 48339k -> 48359k
Overhead: 36614k -> 36497k
GGC runs: 599 -> 596
Pre-IPA-Garbage: 159741k -> 158268k
Pre-IPA-Leak: 88354k -> 88376k
Pre-IPA-Overhead: 17629k -> 17546k
Post-IPA-Garbage: 159741k -> 158268k
Post-IPA-Leak: 88354k -> 88376k
Post-IPA-Overhead: 17629k -> 17546k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 129848k -> 131735k
Peak memory use before GGC: 85929k -> 85950k
Peak memory use after GGC: 85071k -> 85091k
Maximum of released memory in single GGC run: 16721k
Garbage: 397017k -> 395778k
Leak: 48866k -> 48887k
Overhead: 39213k -> 39151k
GGC runs: 626 -> 625
Pre-IPA-Garbage: 162532k -> 161066k
Pre-IPA-Leak: 88634k -> 88656k
Pre-IPA-Overhead: 17876k -> 17794k
Post-IPA-Garbage: 162532k -> 161066k
Post-IPA-Leak: 88634k -> 88656k
Post-IPA-Overhead: 17876k -> 17794k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 378592k -> 380108k
Peak memory use before GGC: 101208k -> 101209k
Peak memory use after GGC: 56862k
Maximum of released memory in single GGC run: 50582k -> 50583k
Garbage: 178902k -> 178951k
Leak: 6097k -> 6098k
Overhead: 30781k -> 30781k
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: 379388k -> 380908k
Peak memory use before GGC: 101839k
Peak memory use after GGC: 57492k -> 57493k
Maximum of released memory in single GGC run: 50583k -> 50582k
Garbage: 179007k -> 179055k
Leak: 7799k -> 7800k
Overhead: 31213k -> 31213k
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: 437837k -> 439379k
Peak memory use before GGC: 78857k
Peak memory use after GGC: 70436k
Maximum of released memory in single GGC run: 37753k
Garbage: 235356k -> 235357k
Leak: 16073k -> 16073k
Overhead: 35563k -> 35563k
GGC runs: 105
Pre-IPA-Garbage: 52924k -> 52924k
Pre-IPA-Leak: 49244k -> 49245k
Pre-IPA-Overhead: 7011k -> 7011k
Post-IPA-Garbage: 52924k -> 52924k
Post-IPA-Leak: 49244k -> 49245k
Post-IPA-Overhead: 7011k -> 7011k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory needed: 358281k -> 358959k
Peak memory use before GGC: 75422k -> 75423k
Peak memory use after GGC: 70436k -> 70437k
Maximum of released memory in single GGC run: 32245k
Garbage: 246837k -> 246837k
Leak: 16245k -> 16245k
Overhead: 38881k -> 38881k
GGC runs: 116
Pre-IPA-Garbage: 91835k -> 91836k
Pre-IPA-Leak: 77069k -> 77070k
Pre-IPA-Overhead: 11353k -> 11353k
Post-IPA-Garbage: 91835k -> 91836k
Post-IPA-Leak: 77069k -> 77070k
Post-IPA-Overhead: 11353k -> 11353k
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Overall memory needed: 1312341k -> 1313899k
Peak memory use before GGC: 136584k
Peak memory use after GGC: 127941k -> 127942k
Maximum of released memory in single GGC run: 59911k
Garbage: 371407k -> 371403k
Leak: 24376k -> 24376k
Overhead: 48461k -> 48461k
GGC runs: 103
Pre-IPA-Garbage: 91835k -> 91836k
Pre-IPA-Leak: 77069k -> 77070k
Pre-IPA-Overhead: 11353k -> 11353k
Post-IPA-Garbage: 91835k -> 91836k
Post-IPA-Leak: 77069k -> 77070k
Post-IPA-Overhead: 11353k -> 11353k
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2007-12-17 18:04:39.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2008-01-03 22:35:41.000000000 +0000
@@ -1,3 +1,377 @@
+2008-01-03 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34458
+ * tree-data-ref.c (dd_int_cst_value): New.
+ (initialize_matrix_A, compute_overlap_steps_for_affine_1_2,
+ analyze_subscript_affine_affine, build_classic_dist_vector_1,
+ add_multivariate_self_dist, init_omega_eq_with_af): Use
+ dd_int_cst_value instead of int_cst_value.
+
+2008-01-03 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/31081
+ * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
+ 0 when inlining and not inlining to first basic block.
+ (remap_decl): When var is initialized to 0, don't set default_def.
+ (expand_call_inline): Set entry_bb.
+ * tree-inline.h (copy_body_data): Add entry_bb.
+
+2008-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34619
+ * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
+ before returning.
+
+ PR tree-optimization/29484
+ * tree-inline.c (inline_forbidden_p_2): New function.
+ (inline_forbidden_p): Disallow inlining if some static var
+ has an address of a local LABEL_DECL in its initializer.
+ * doc/extend.texi (Labels as Values): Document &&foo behaviour
+ vs. inlining.
+
+2008-01-03 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34635
+ * tree-data-ref.c (add_other_self_distances): Make sure that the
+ evolution step is constant.
+
+2008-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/34608
+ * omp-low.c (expand_omp_parallel): Purge dead EH edges in the
+ child fn.
+
+2008-01-02 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * tree-sra.c (scalarize_init): Insert the generate_element_init
+ statements after the generate_element_zero statements.
+
+2008-01-02 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/34093
+ PR middle-end/31976
+ * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
+ for very large number of operands instead of ICEing.
+
+2008-01-02 Arthur Norman <acn1@cam.ac.uk>
+
+ PR 34013
+ * gcc/config/i386/i386.c: (ix86_expand_prologue): Save red-zone
+ while stack probing.
+
+2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
+
+ * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
+ in C++0x mode.
+
+2008-01-01 Volker Reichelt <v.reichelt@netcologne.de>
+
+ PR libmudflap/26442
+ * tree-mudflap.c (mx_register_decls): Guard warning by
+ !DECL_ARTIFICIAL check.
+
+2008-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
+ sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
+ sse5_perm<mode>): Fix constraints.
+
+2007-12-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR driver/33772
+ * collect2.c (SHLIB_SUFFIX): Define if not defined.
+ (write_c_file_stat): Use SHLIB_SUFFIX.
+ * som.h (SHLIB_SUFFIX): Define.
+ * doc/tm.texi (SHLIB_SUFFIX): Document.
+
+2007-12-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md ("*divv4sf3"): Rename to "sse_divv4sf3".
+ ("*sse_rsqrtv4sf2"): Export.
+ ("*sse_sqrtv4sf2"): Ditto.
+ * config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_RSQRTPS_NR,
+ IX86_BUILTIN_SQRTPS_NR]: New constants.
+ (struct builtin_description) [IX86_BUILTIN_DIVPS]: Use
+ CODE_FOR_sse_divv4sf3.
+ [IX86_BUILTIN_SQRTPS]: Use CODE_FOR_sse_sqrtv4sf2.
+ [IX86_BUILTIN_SQRTPS_NR]: New.
+ [IX86_BUILTIN_RSQRTPS_NR]: Ditto.
+ (ix86_init_mmx_sse_builtins): Initialize __builtin_ia32_rsqrtps_nr and
+ __builtin_ia32_sqrtps_nr.
+ (ix86_builtin_vectorized_function): Convert BUILT_IN_SQRTF to
+ IX86_BUILTIN_SQRTPS_NR.
+ (ix86_builtin_reciprocal): Convert IX86_BUILTIN_SQRTPS_NR to
+ IX86_BUILTIN_RSQRTPS_NR.
+
+2007-12-27 Brian Dessent <brian@dessent.net>
+
+ * doc/invoke.texi (Optimize Options): Add missing opindex for
+ -fno-toplevel-reorder.
+
+2007-12-27 Dorit Nuzman <dorit@il.ibm.com>
+
+ PR tree-optimization/34591
+ * tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip
+ stmts (including reduction stmts) that are not live.
+
+2007-12-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/34281
+ * config/arm/arm.c (arm_setup_incoming_varargs): If last named
+ argument needs double word alignment and cum->nregs is odd, account
+ for the inserted padding.
+
+ PR debug/34535
+ * tree-mudflap.c (mf_make_builtin): Make decl artificial
+ and don't emit debug info for it.
+
+2007-12-26 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82
+ and AT90USB162 devices from 'avr5' to 'avr35' architecture.
+ (ASM_SPEC): Add 'avr35' architecture.
+ * config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162
+ devices from 'avr5' to 'avr35' architecture.
+ (avr_arch_types): Add "avr23" entries.
+ (avr_arch): Add 'ARCH_AVR35'.
+ * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
+ (MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
+ to 'avr35' architecture.
+
+2007-12-22 David Daney <ddaney@avtrex.com>
+
+ * doc/install.texi (disable-libgcj-bc): Document new option.
+
+2007-12-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in
+ mask selection.
+
+ PR target/34525
+ * pa.c (legitimize_pic_address): Emit insn to load function label
+ forced to memory.
+
+2007-12-21 Andrew Pinski <pinskia@gmail.com>
+ Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/8835
+ * config/mcore/mcore.c (mcore_function_value): Call promote_mode
+ instead of PROMOTE_MODE.
+
+2007-12-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix typo.
+
+2007-12-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-data-ref.c (signed_type_for_types): New.
+ (affine_fn_op): Use signed_type_for_types and signed_type_for instead
+ of long_integer_type_node.
+ (analyze_ziv_subscript): Same.
+ (analyze_siv_subscript_cst_affine): Same.
+ (analyze_miv_subscript): Same.
+ (omega_setup_subscript): Same.
+
+2007-12-21 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * config/mips/mips.c (mips_emit_loadgp): Replace gen_* calls with
+ separate gen_*_si and gen_*_di calls. Pass pic_offset_table_rtx
+ as the first argument.
+ * config/mips/mips.md (loadgp_newabi, loadgp_absolute)
+ (loadgp_rtp): Rename to...
+ (loadgp_newabi_<mode>, loadgp_absolute<mode>, loadgp_rtp<mode>):
+ ...these. Add modes to all operands. Add the target register
+ as an operand. Combine loadgp_rtp<mode> with its splitter.
+
+2007-12-20 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.md (fix_return_addr): Remove.
+ * config/xtensa/xtensa-protos.h (xtensa_initialize_trampoline): New.
+ (xtensa_trampoline_template): New.
+ * config/xtensa/xtensa.c (MIN_FRAME_SIZE): Moved here from xtensa.h.
+ (xtensa_return_addr): Expand to standard Xtensa insns instead of
+ fix_return_addr. Get high bits from a local label.
+ (xtensa_trampoline_template): New function with code moved from
+ TRAMPOLINE_TEMPLATE in xtensa.h. Use L32R instead of CALL0 except
+ when using CONST16 or absolute-mode literals.
+ (xtensa_initialize_trampoline): New function with code moved from
+ INITIALIZE_TRAMPOLINE in xtensa.h. Use different offsets depending
+ on which trampoline version is used.
+ * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Add comment.
+ * config/xtensa/xtensa.h (TARGET_ABSOLUTE_LITERALS): Define.
+ (MIN_FRAME_SIZE): Moved to xtensa.c.
+ (TRAMPOLINE_TEMPLATE): Use xtensa_trampoline_template.
+ (TRAMPOLINE_SIZE): Two versions of the trampoline have different sizes.
+ (INITIALIZE_TRAMPOLINE): Use xtensa_initialize_trampoline.
+ * config/xtensa/ieee754-df.S (XCHAL_NO_MUL): Define.
+ (__muldf3): Use CALL12 instead of CALL0 to invoke .Lmul_mulsi3
+ helper when not using the CALL0 ABI. Change .Lmul_mulsi3 to match.
+ * config/xtensa/lib1funcs.asm (__umulsidi3): Likewise.
+ * config/xtensa/ieee754-sf.S (__mulsf3): Likewise.
+
+2007-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34459
+ * tree-ssa-dse.c (dse_optimize_stmt): Don't eliminate store if
+ USE_STMT not only stores into the same object as STMT, but might
+ read it too.
+
+2007-12-19 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34413
+ * tree-data-ref.c (affine_fn_op, analyze_ziv_subscript,
+ analyze_siv_subscript_cst_affine, analyze_miv_subscript,
+ omega_setup_subscript): Use long_integer_type_node instead of
+ integer_type_node.
+
+2007-12-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/34525
+ * pa.c (legitimize_pic_address): Force function labels into memory.
+
+2007-12-19 Zdenek Dvorak <ook@ucw.cz>
+
+ * omp-low.c (build_omp_regions_1): Recognition of combined parallels
+ moved ...
+ (expand_omp): ... here.
+
+2007-12-19 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/34355
+ * tree-parloops.c (take_address_of): Handle expresions
+ instead of just variables.
+ (eliminate_local_variables_1): Force whole invariant
+ address to ssa name.
+
+2007-12-19 Alexander Monakov <amonakov@ispras.ru>
+ Revital Eres <eres@il.ibm.com>
+
+ * modulo-sched.c (generate_reg_moves): Insert the reg-moves
+ right before the notes which precedes the insn, if they exists.
+ (loop_canon_p): Add dump info.
+ (sms_schedule): Likewise.
+
+2007-12-19 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
+ * emit-rtl.c (set_decl_incoming_rtl): Likewise. Don't set the
+ rtl's register attributes when the parameter is true.
+ * function.c (assign_parms_unsplit_complex, assign_parms)
+ (expand_function_start): Update calls to set_decl_incoming_rtl.
+
+2007-12-19 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * rtl.def (SUBREG): Update comments.
+ * rtl.h (reg_attrs): Be explicit about the type of offset used.
+ (set_reg_attrs_from_mem): Rename to...
+ (set_reg_attrs_from_value): ...this.
+ (adjust_reg_mode, byte_lowpart_offset): Declare.
+ * emit-rtl.c (byte_lowpart_offset): New function.
+ (update_reg_offset): Remove special offset handling for big-endian
+ targets.
+ (gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
+ offset parameter is added to REG_OFFSET.
+ (adjust_reg_mode): New function.
+ (set_reg_attrs_for_mem): Rename to...
+ (set_reg_attrs_for_value): ...this and generalize to all values.
+ If the register is a lowpart of the value, adjust the offset
+ accordingly.
+ (set_reg_attrs_for_parm): Update after the above renaming.
+ (set_reg_attrs_for_decl_rtl): New function, split out from
+ set_decl_incoming_rtl. Set the offset of plain REGs to the
+ offset of the REG's mode from the decl's. Assert that all
+ subregs are lowparts and handle their inner registers in the
+ same way as plain REGs.
+ (set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
+ (subreg_lowpart_offset): Explicitly say that the returned offset
+ is a SUBREG_BYTE.
+ * combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
+ instead of PUT_MODE.
+ * final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
+ * config/ia64/ia64.c (ia64_expand_load_address): Likewise.
+ * regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
+ * reload.c (find_reloads_subreg_address): Call set_mem_offset
+ when offseting a MEM.
+ * var-tracking.c (offset_valid_for_tracked_p): Delete.
+ (mode_for_reg_attrs): Replace with...
+ (track_loc_p): ...this new function. Return the mode and offset
+ to the caller, checking that the latter is valid. If the rtx is
+ a paradoxical lowpart of the decl, use the decl's mode instead.
+ Do the same when storing to a register that contains the entire decl.
+ (var_lowpart): Use byte_lowpart_offset rather than
+ subreg_lowpart_offset when adjusting the offset attribute.
+ (count_uses, add_uses, add_stores): Use track_reg_p instead of
+ REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
+ offset_valid_for_tracked_p and mode_for_reg_attrs. Generate
+ lowparts for MEMs as well as REGs.
+ (vt_add_function_parameters): When obtaining the information from
+ the decl_rtl, adjust the offset to match incoming. Use track_loc_p
+ and var_lowpart.
+
+2007-12-18 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/34123
+ * lambda-code.c (can_duplicate_iv): New.
+ (cannot_convert_modify_to_perfect_nest): New.
+ (cannot_convert_bb_to_perfect_nest): New.
+ (can_convert_to_perfect_nest): Split up.
+
+2007-12-18 David Daney <ddaney@avtrex.com>
+
+ * config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation
+ instead of .set push and .set pop.
+
+2007-12-18 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/33474
+ * config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find
+ the SET.
+
+2007-12-18 Razya Ladelsky <razya@il.ibm.com>
+
+ * tree-parloops.c (reduiction_info): Change documentation of
+ reduction_initial field.
+ (initialize_reductions): Remove creation of reduction_initial variable.
+ (create_loads_for_reductions): don't join reduction_initial to
+ the loaded value.
+
+2007-12-18 Kaz Kylheku <kaz@zeugmasystems.com>
+
+ PR rtl-optimization/34456
+ * resource.c (mark_set_resources): Use regs_invalidated_by_call
+ rather than call_used_regs and global_regs.
+
+2007-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/34490
+ * simplify-rtx.c (simplify_const_relational_operation): If !sign,
+ don't reduce mmin/mmax using num_sign_bit_copies.
+
+2007-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/install.texi: Change recommended MPFR from 2.2.1 > 2.3.0.
+
+2007-12-17 Andreas Schwab <schwab@suse.de>
+
+ * doc/invoke.texi (Warning Options): Use @itemx.
+
+2007-12-17 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vectorizer.h (verbosity_levels): Add new verbosity level
+ REPORT_COST.
+ * tree-vect-transform.c (vect_estimate_min_profitable_iters): Change
+ verbosity level to REPORT_COST.
+ (vect_model_reduction_cost): Likewise.
+ (vect_model_induction_cost): Likewise.
+ (vect_model_simple_cost): likewise.
+ (vect_model_store_cost): likewise.
+ (vect_model_load_cost): likewise.
+ (conservative_cost_threshold): Likewise. Remove print.
+
+2007-12-17 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ * doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
+
2007-12-17 Jakub Jelinek <jakub@redhat.com>
PR c/34506
@@ -6906,6 +7280,28 @@
* config/s390/s390.c (s390_dump_pool): Create copy of constant
pool entries since they might hold values that must not be shared.
+2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>
+
+ * bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
+ RTL level tracer pass.
+ * passes.c (init_optimization_passes): Move pass_tracer from
+ after pass_rtl_ifcvt to after pass_dce.
+ * tracer.c: Update copyright.
+ (layout_superblocks): Remove function.
+ (mark_bb_seen): New.
+ (bb_seen_p): New.
+ (count_insns): Change to estimate instructions in a Tree-SSA
+ statement.
+ (find_trace): Use bb_seen_p.
+ (tail_duplicate): Use bb_seen_p. Call add_phi_args_after_copy
+ after duplicate_block.
+ (tracer): Change prototype to match that of a pass execute
+ callback.
+ (gate_tracer): Rename from gate_handle_tracer.
+ (rest_of_handle_tracer): Remove function.
+ * rtl.h: Remove prototype for tracer.
+ * testsuite/gcc.dg/tree-prof/tracer-1.c: New.
+
2007-09-10 Uros Bizjak <ubizjak@gmail.com>
PR target/33369
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2007-12-17 18:04:39.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2008-01-02 05:02:42.000000000 +0000
@@ -1,3 +1,50 @@
+2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
+
+ * parser.c (cp_parser_check_decl_spec): Don't warn about "long
+ long" in C++0x mode; change the warning to note that "long long"
+ is only unsupported in C++98 mode.
+
+2007-12-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/34111
+ * call.c (standard_conversion): Derived-to-base is considered a
+ standard conversion.
+
+2007-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34513
+ * parser.c (cp_parser_omp_parallel): For non-combined parallel
+ call cp_parser_statement rather than
+ cp_parser_already_scoped_statement.
+
+2007-12-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/34206
+ * pt.c (tsubst_aggr_type): Do nothing if the type already doesn't
+ use template parms.
+ (dependent_type_p_r): Handle the domain of an array.
+
+2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/32565
+ PR c++/33943
+ PR c++/33965
+ * pt.c (template_template_parm_bindings_ok_p): New; verifies
+ bindings of template template parameters after all template
+ arguments have been deduced.
+ (coerce_template_parms): Don't complain when COMPLAIN doesn't
+ include tf_error.
+ (fn_type_unification): Use template_template_parm_bindings_ok_p.
+ (unify): Deal with variadic, bound template template parameters.
+ (get_class_bindings): Use template_template_parm_bindings_ok_p.
+
+2007-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/34488
+ * decl.c (grokdeclarator): Reject friend sfk_constructor
+ FUNCTION_TYPE.
+
2007-12-17 Jakub Jelinek <jakub@redhat.com>
PR c/34506
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