A recent patch increased GCC's memory consumption in some cases!
gcctest@suse.de
gcctest@suse.de
Fri Sep 12 05:46: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: 8184k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1217k
Maximum of released memory in single GGC run: 134k
Garbage: 218k -> 218k
Leak: 1222k -> 1221k
Overhead: 136k -> 136k
GGC runs: 4
Pre-IPA-Garbage: 207k -> 207k
Pre-IPA-Leak: 1224k -> 1224k
Pre-IPA-Overhead: 135k -> 135k
Post-IPA-Garbage: 207k -> 207k
Post-IPA-Leak: 1224k -> 1224k
Post-IPA-Overhead: 135k -> 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 -> 220k
Leak: 1254k -> 1254k
Overhead: 141k -> 141k
GGC runs: 4
Pre-IPA-Garbage: 207k -> 207k
Pre-IPA-Leak: 1224k -> 1224k
Pre-IPA-Overhead: 135k -> 135k
Post-IPA-Garbage: 207k -> 207k
Post-IPA-Leak: 1224k -> 1224k
Post-IPA-Overhead: 135k -> 135k
comparing empty function compilation at -O1 level:
Overall memory needed: 8236k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1217k
Maximum of released memory in single GGC run: 134k
Garbage: 221k -> 221k
Leak: 1222k -> 1221k
Overhead: 137k -> 137k
GGC runs: 4
Pre-IPA-Garbage: 207k -> 207k
Pre-IPA-Leak: 1224k -> 1224k
Pre-IPA-Overhead: 135k -> 135k
Post-IPA-Garbage: 207k -> 207k
Post-IPA-Leak: 1224k -> 1224k
Post-IPA-Overhead: 135k -> 135k
comparing empty function compilation at -O2 level:
Overall memory needed: 8456k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1218k
Maximum of released memory in single GGC run: 135k
Garbage: 226k -> 226k
Leak: 1222k -> 1222k
Overhead: 138k -> 138k
GGC runs: 4
Pre-IPA-Garbage: 207k -> 207k
Pre-IPA-Leak: 1225k -> 1225k
Pre-IPA-Overhead: 135k -> 135k
Post-IPA-Garbage: 207k -> 207k
Post-IPA-Leak: 1225k -> 1225k
Post-IPA-Overhead: 135k -> 135k
comparing empty function compilation at -O3 level:
Overall memory needed: 8460k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1218k
Maximum of released memory in single GGC run: 135k
Garbage: 226k -> 226k
Leak: 1222k -> 1222k
Overhead: 138k -> 138k
GGC runs: 4
Pre-IPA-Garbage: 207k -> 207k
Pre-IPA-Leak: 1225k -> 1225k
Pre-IPA-Overhead: 135k -> 135k
Post-IPA-Garbage: 207k -> 207k
Post-IPA-Leak: 1225k -> 1225k
Post-IPA-Overhead: 135k -> 135k
comparing combine.c compilation at -O0 level:
Overall memory needed: 32048k -> 32028k
Peak memory use before GGC: 18040k -> 18038k
Peak memory use after GGC: 17774k
Maximum of released memory in single GGC run: 1866k -> 1864k
Garbage: 39946k -> 39872k
Leak: 5639k -> 5638k
Overhead: 5266k -> 5267k
GGC runs: 339
Pre-IPA-Garbage: 12580k -> 12567k
Pre-IPA-Leak: 19385k -> 19386k
Pre-IPA-Overhead: 2623k -> 2624k
Post-IPA-Garbage: 12580k -> 12567k
Post-IPA-Leak: 19385k -> 19386k
Post-IPA-Overhead: 2623k -> 2624k
comparing combine.c compilation at -O0 -g level:
Overall memory needed: 34060k -> 34044k
Peak memory use before GGC: 19957k -> 19955k
Peak memory use after GGC: 19630k
Maximum of released memory in single GGC run: 1876k -> 1874k
Garbage: 40222k -> 40147k
Leak: 8920k -> 8919k
Overhead: 6083k -> 6084k
GGC runs: 321
Pre-IPA-Garbage: 12679k -> 12666k
Pre-IPA-Leak: 21659k -> 21659k
Pre-IPA-Overhead: 3113k -> 3114k
Post-IPA-Garbage: 12679k -> 12666k
Post-IPA-Leak: 21659k -> 21659k
Post-IPA-Overhead: 3113k -> 3114k
comparing combine.c compilation at -O1 level:
Amount of memory still referenced at the end of compilation increased from 5624k to 5631k, overall 0.11%
Overall memory needed: 31012k -> 30956k
Peak memory use before GGC: 15669k -> 15667k
Peak memory use after GGC: 15488k -> 15487k
Maximum of released memory in single GGC run: 1366k -> 1394k
Garbage: 47249k -> 47119k
Leak: 5624k -> 5631k
Overhead: 6103k -> 6103k
GGC runs: 404
Pre-IPA-Garbage: 13456k -> 13442k
Pre-IPA-Leak: 16877k -> 16877k
Pre-IPA-Overhead: 2532k -> 2533k
Post-IPA-Garbage: 13456k -> 13442k
Post-IPA-Leak: 16877k -> 16877k
Post-IPA-Overhead: 2532k -> 2533k
comparing combine.c compilation at -O2 level:
Overall memory needed: 31876k -> 31772k
Peak memory use before GGC: 15775k
Peak memory use after GGC: 15608k
Maximum of released memory in single GGC run: 1325k -> 1356k
Garbage: 61236k -> 61183k
Leak: 5798k -> 5797k
Overhead: 8186k -> 8197k
GGC runs: 475
Pre-IPA-Garbage: 13631k -> 13610k
Pre-IPA-Leak: 16953k -> 16954k
Pre-IPA-Overhead: 2554k -> 2555k
Post-IPA-Garbage: 13631k -> 13610k
Post-IPA-Leak: 16953k -> 16954k
Post-IPA-Overhead: 2554k -> 2555k
comparing combine.c compilation at -O3 level:
Overall memory needed: 33060k -> 32200k
Peak memory use before GGC: 15809k -> 15807k
Peak memory use after GGC: 15651k -> 15650k
Maximum of released memory in single GGC run: 1813k -> 1814k
Garbage: 76733k -> 76673k
Leak: 5683k -> 5669k
Overhead: 10029k -> 10031k
GGC runs: 508
Pre-IPA-Garbage: 13632k -> 13611k
Pre-IPA-Leak: 16964k -> 16965k
Pre-IPA-Overhead: 2555k -> 2556k
Post-IPA-Garbage: 13632k -> 13611k
Post-IPA-Leak: 16964k -> 16965k
Post-IPA-Overhead: 2555k -> 2556k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 158228k -> 158148k
Peak memory use before GGC: 65873k -> 65872k
Peak memory use after GGC: 53242k
Maximum of released memory in single GGC run: 28569k -> 28568k
Garbage: 134335k -> 134295k
Leak: 7489k -> 7488k
Overhead: 16157k -> 16158k
GGC runs: 265 -> 264
Pre-IPA-Garbage: 39228k -> 39223k
Pre-IPA-Leak: 55907k -> 55908k
Pre-IPA-Overhead: 8653k -> 8653k
Post-IPA-Garbage: 39228k -> 39223k
Post-IPA-Leak: 55907k -> 55908k
Post-IPA-Overhead: 8653k -> 8653k
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory needed: 159532k -> 159452k
Peak memory use before GGC: 67147k -> 67146k
Peak memory use after GGC: 54514k
Maximum of released memory in single GGC run: 28569k -> 28568k
Garbage: 134814k -> 134774k
Leak: 9140k -> 9139k
Overhead: 16613k -> 16613k
GGC runs: 258 -> 257
Pre-IPA-Garbage: 39285k -> 39280k
Pre-IPA-Leak: 57449k -> 57449k
Pre-IPA-Overhead: 8988k -> 8989k
Post-IPA-Garbage: 39285k -> 39280k
Post-IPA-Leak: 57449k -> 57449k
Post-IPA-Overhead: 8988k -> 8989k
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 134892k -> 134836k
Peak memory use before GGC: 50247k
Peak memory use after GGC: 43080k
Maximum of released memory in single GGC run: 23393k
Garbage: 184506k -> 184466k
Leak: 6871k -> 6868k
Overhead: 25327k -> 25328k
GGC runs: 305
Pre-IPA-Garbage: 45205k -> 45200k
Pre-IPA-Leak: 43436k -> 43436k
Pre-IPA-Overhead: 8052k -> 8052k
Post-IPA-Garbage: 45205k -> 45200k
Post-IPA-Leak: 43436k -> 43436k
Post-IPA-Overhead: 8052k -> 8052k
comparing insn-attrtab.c compilation at -O2 level:
Peak amount of GGC memory still allocated after garbage collecting increased from 43994k to 44095k, overall 0.23%
Overall memory needed: 150260k -> 150008k
Peak memory use before GGC: 50279k -> 50268k
Peak memory use after GGC: 43994k -> 44095k
Maximum of released memory in single GGC run: 22010k -> 22007k
Garbage: 216414k -> 216398k
Leak: 6879k -> 6875k
Overhead: 31033k -> 31012k
GGC runs: 340
Pre-IPA-Garbage: 45283k -> 45273k
Pre-IPA-Leak: 43441k -> 43442k
Pre-IPA-Overhead: 8061k -> 8062k
Post-IPA-Garbage: 45283k -> 45273k
Post-IPA-Leak: 43441k -> 43442k
Post-IPA-Overhead: 8061k -> 8062k
comparing insn-attrtab.c compilation at -O3 level:
Peak amount of GGC memory still allocated after garbage collecting increased from 58454k to 58536k, overall 0.14%
Overall memory needed: 164668k -> 163936k
Peak memory use before GGC: 61578k -> 61637k
Peak memory use after GGC: 58454k -> 58536k
Maximum of released memory in single GGC run: 24309k -> 24303k
Garbage: 246756k -> 246673k
Leak: 6886k -> 6883k
Overhead: 34484k -> 34457k
GGC runs: 343
Pre-IPA-Garbage: 45283k -> 45273k
Pre-IPA-Leak: 43441k -> 43442k
Pre-IPA-Overhead: 8061k -> 8062k
Post-IPA-Garbage: 45283k -> 45273k
Post-IPA-Leak: 43441k -> 43442k
Post-IPA-Overhead: 8061k -> 8062k
comparing Gerald's testcase PR8361 compilation at -O0 level:
Testing has produced no results
Pre-IPA-Garbage: 114063k -> 113380k
Pre-IPA-Leak: 87272k -> 87309k
Pre-IPA-Overhead: 14907k -> 14978k
Post-IPA-Garbage: 114063k -> 113380k
Post-IPA-Leak: 87272k -> 87309k
Post-IPA-Overhead: 14907k -> 14978k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 168003k -> 167953k
Peak memory use before GGC: 95772k
Peak memory use after GGC: 94820k
Maximum of released memory in single GGC run: 16877k -> 16212k
Garbage: 218255k -> 215173k
Leak: 76354k -> 76369k
Overhead: 33854k -> 33924k
GGC runs: 394 -> 391
Pre-IPA-Garbage: 114685k -> 114002k
Pre-IPA-Leak: 103786k -> 103823k
Pre-IPA-Overhead: 18410k -> 18481k
Post-IPA-Garbage: 114685k -> 114002k
Post-IPA-Leak: 103786k -> 103823k
Post-IPA-Overhead: 18410k -> 18481k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 112095k -> 111208k
Peak memory use before GGC: 82329k -> 82153k
Peak memory use after GGC: 81503k -> 81337k
Maximum of released memory in single GGC run: 16685k -> 16093k
Garbage: 291411k -> 289336k
Leak: 46585k -> 46454k
Overhead: 32515k -> 32585k
GGC runs: 516 -> 513
Pre-IPA-Garbage: 167245k -> 165572k
Pre-IPA-Leak: 86056k -> 86076k
Pre-IPA-Overhead: 20408k -> 20480k
Post-IPA-Garbage: 167245k -> 165572k
Post-IPA-Leak: 86056k -> 86076k
Post-IPA-Overhead: 20408k -> 20480k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 115375k -> 114268k
Peak memory use before GGC: 83778k -> 83627k
Peak memory use after GGC: 82799k
Maximum of released memory in single GGC run: 16656k -> 16079k
Garbage: 345503k -> 343365k
Leak: 46506k -> 46498k
Overhead: 39162k -> 39240k
GGC runs: 580
Pre-IPA-Garbage: 171448k -> 169625k
Pre-IPA-Leak: 86362k -> 86381k
Pre-IPA-Overhead: 20902k -> 20974k
Post-IPA-Garbage: 171448k -> 169625k
Post-IPA-Leak: 86362k -> 86381k
Post-IPA-Overhead: 20902k -> 20974k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 116995k -> 115072k
Peak memory use before GGC: 84478k -> 84259k
Peak memory use after GGC: 83419k
Maximum of released memory in single GGC run: 16656k -> 16079k
Garbage: 376977k -> 375321k
Leak: 46498k -> 46484k
Overhead: 42457k -> 42532k
GGC runs: 614 -> 615
Pre-IPA-Garbage: 171534k -> 169710k
Pre-IPA-Leak: 87044k -> 87064k
Pre-IPA-Overhead: 20957k -> 21029k
Post-IPA-Garbage: 171534k -> 169710k
Post-IPA-Leak: 87044k -> 87064k
Post-IPA-Overhead: 20957k -> 21029k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Amount of produced GGC garbage increased from 147530k to 147983k, overall 0.31%
Amount of memory still referenced at the end of compilation decreased from 6511k to 6041k, overall -7.77%
Overall memory needed: 368859k -> 368845k
Peak memory use before GGC: 78451k
Peak memory use after GGC: 49385k
Maximum of released memory in single GGC run: 38763k -> 39187k
Garbage: 147530k -> 147983k
Leak: 6511k -> 6041k
Overhead: 24890k -> 24890k
GGC runs: 87
Pre-IPA-Garbage: 13630k -> 13629k
Pre-IPA-Leak: 20190k -> 20190k
Pre-IPA-Overhead: 2241k -> 2242k
Post-IPA-Garbage: 13630k -> 13629k
Post-IPA-Leak: 20190k -> 20190k
Post-IPA-Overhead: 2241k -> 2242k
comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
Amount of produced GGC garbage increased from 147631k to 148084k, overall 0.31%
Amount of memory still referenced at the end of compilation decreased from 8553k to 8084k, overall -5.81%
Overall memory needed: 369635k -> 369629k
Peak memory use before GGC: 79148k
Peak memory use after GGC: 50082k
Maximum of released memory in single GGC run: 38748k -> 39172k
Garbage: 147631k -> 148084k
Leak: 8553k -> 8084k
Overhead: 25474k -> 25474k
GGC runs: 93
Pre-IPA-Garbage: 13637k -> 13637k
Pre-IPA-Leak: 20439k -> 20439k
Pre-IPA-Overhead: 2296k -> 2296k
Post-IPA-Garbage: 13637k -> 13637k
Post-IPA-Leak: 20439k -> 20439k
Post-IPA-Overhead: 2296k -> 2296k
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Amount of produced GGC garbage increased from 226744k to 228351k, overall 0.71%
Amount of memory still referenced at the end of compilation decreased from 7088k to 5426k, overall -30.63%
Overall memory needed: 227888k -> 227748k
Peak memory use before GGC: 71433k
Peak memory use after GGC: 63951k
Maximum of released memory in single GGC run: 35392k -> 35356k
Garbage: 226744k -> 228351k
Leak: 7088k -> 5426k
Overhead: 30781k -> 30781k
GGC runs: 98
Pre-IPA-Garbage: 51799k -> 51798k
Pre-IPA-Leak: 62150k -> 62151k
Pre-IPA-Overhead: 8965k -> 8965k
Post-IPA-Garbage: 51799k -> 51798k
Post-IPA-Leak: 62150k -> 62151k
Post-IPA-Overhead: 8965k -> 8965k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Ovarall memory allocated via mmap and sbrk decreased from 369660k to 358524k, overall -3.11%
Amount of produced GGC garbage increased from 255087k to 256418k, overall 0.52%
Amount of memory still referenced at the end of compilation decreased from 6910k to 5520k, overall -25.17%
Overall memory needed: 369660k -> 358524k
Peak memory use before GGC: 71433k
Peak memory use after GGC: 63952k
Maximum of released memory in single GGC run: 36706k -> 36674k
Garbage: 255087k -> 256418k
Leak: 6910k -> 5520k
Overhead: 36877k -> 36877k
GGC runs: 109
Pre-IPA-Garbage: 111829k -> 111829k
Pre-IPA-Leak: 73071k -> 73071k
Pre-IPA-Overhead: 15408k -> 15408k
Post-IPA-Garbage: 111829k -> 111829k
Post-IPA-Leak: 73071k -> 73071k
Post-IPA-Overhead: 15408k -> 15408k
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Amount of produced GGC garbage increased from 366227k to 369371k, overall 0.86%
Amount of memory still referenced at the end of compilation decreased from 9422k to 5686k, overall -65.71%
Overall memory needed: 1024508k -> 1022864k
Peak memory use before GGC: 138535k
Peak memory use after GGC: 125812k
Maximum of released memory in single GGC run: 62503k -> 62493k
Garbage: 366227k -> 369371k
Leak: 9422k -> 5686k
Overhead: 45446k -> 45401k
GGC runs: 106
Pre-IPA-Garbage: 111829k -> 111829k
Pre-IPA-Leak: 73071k -> 73071k
Pre-IPA-Overhead: 15408k -> 15408k
Post-IPA-Garbage: 111829k -> 111829k
Post-IPA-Leak: 73071k -> 73071k
Post-IPA-Overhead: 15408k -> 15408k
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2008-09-11 09:35:20.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2008-09-12 02:14:32.000000000 +0000
@@ -1,3 +1,196 @@
+2008-09-11 Janis Johnson <janis187@us.ibm.com>
+
+ * ginclude/float.h (DEC_EVAL_METHOD): Correct the macro name.
+
+2008-09-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid
+ entering the weaker equivalence recording.
+
+ * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification.
+
+2008-09-11 Jeff Law <law@redhat.com>
+
+ * reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
+ by assign_stack_local on the IRA path for stack slot sharing
+ as well as the non-IRA path.
+
+2008-09-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h: Fix whitespace issues.
+
+2008-09-11 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (struct ipa_param_flags): Removed.
+ (struct ipa_param_descriptor): New structure.
+ (struct ipa_node_params): ipcp_lattices, param_decls and
+ param_flags moved to ipa_param_description.
+ (ipa_get_ith_param): Renamed to ipa_get_param, changed to access
+ descriptors. Renamed all users.
+ (ipa_is_ith_param_modified): Renamed to ipa_is_param_modified,
+ changed to access descriptors. Renamed all users.
+ (ipa_is_ith_param_called): Renamed to ipa_is_param_called, changed
+ to access descriptors. Renamed all users.
+ * ipa-cp.c (ipcp_init_cloned_node): Call
+ ipa_initialize_node_params instead of ipa_count_formal_params and
+ ipa_create_param_decls_array.
+ (ipcp_analyze_node): Likewise.
+ (ipcp_get_ith_lattice): Renamed to ipcp_get_lattice, changed to access
+ descriptors. Renamed all users.
+ (ipcp_initialize_node_lattices): Remove allocation.
+ * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+ ipa_initialize_node_params instead of ipa_count_formal_params and
+ ipa_create_param_decls_array.
+ * ipa-prop.c (ipa_create_param_decls_array): Renamed to
+ ipa_populate_param_decls, made static, added parameter info,
+ renamed mt to node, removed allocation, changed to use
+ descriptors.
+ (ipa_count_formal_params): Made static, added parameter info,
+ renamed mt to node.
+ (ipa_initialize_node_params): New function.
+ (ipa_check_stmt_modifications): Changed to use descriptors.
+ (ipa_detect_param_modifications): Removed allocation, changed to
+ use descriptors.
+ (ipa_note_param_call): Changed to use descriptors.
+ (ipa_analyze_params_uses): Removed allocation.
+ (ipa_free_node_params_substructures): Changed to use descriptors.
+ (ipa_edge_duplication_hook): Use the unused attribute.
+ (ipa_node_duplication_hook): Use the unused attribute, changed to
+ use descriptors, changed to duplicate descriptors.
+
+ * ipa-inline.c (cgraph_mark_inline_edge): New parameter new_edges,
+ changed all callers. Call ipa_propagate_indirect_call_infos if doing
+ indirect inlining. Made static.
+ (cgraph_decide_inlining): Freeing ipa-prop structures after inlining
+ functions called only once.
+ (cgraph_decide_recursive_inlining): Don't call
+ ipa_propagate_indirect_call_infos, pass new_edges to
+ cgraph_mark_inline_edge instead.
+ (cgraph_decide_inlining_of_small_functions): Don't call
+ ipa_propagate_indirect_call_infos, pass new_edges to
+ cgraph_mark_inline_edge instead.
+ (cgraph_decide_inlining): Don't call
+ ipa_propagate_indirect_call_infos.
+ * ipa-prop.c: Check that vectors are allocated.
+
+ * ipa-inline.c (cgraph_mark_inline_edge): Returns boolean, true
+ iff a new cgraph edges have been created.
+ (cgraph_decide_inlining): New variable redo_always_inline.
+ Flattening and always_inlining loop until callgraph stabilizes.
+ * ipa-prop.c (update_call_notes_after_inlining): Returns boolean,
+ true iff new cgraph edges have been created.
+ (propagate_info_to_inlined_callees): Likewise.
+ (ipa_propagate_indirect_call_infos): Likewise.
+
+2008-09-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-vectorizer.c (slpeel_add_loop_guard): Fix types.
+ (set_prologue_iterations): Likewise.
+ * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
+ Likewise.
+ (vect_update_init_of_dr): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix
+ type verification.
+ * fold-const.c (fold_unary): Do not generate calculations
+ in sub-types.
+
+2008-09-11 Paolo Bonzini <bonzini@gnu.org>
+
+ * dojump.c (do_jump) [BIT_AND_EXPR]: Move below. Fall through to
+ TRUTH_AND_EXPR for boolean (1-bit precision) expressions.
+ (do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR.
+
+ * tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return a bool.
+ * tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to
+ VRP's simplify_stmt_using_ranges. Do simplify_stmt_using_ranges
+ before finalizing the changes.
+ * tree-vrp.c (extract_range_from_binary_expr): Add limited support
+ for BIT_IOR_EXPR.
+ (simplify_truth_ops_using_ranges): New.
+ (simplify_div_or_mod_using_ranges, simplify_abs_using_ranges,
+ simplify_cond_using_ranges, simplify_switch_using_ranges): Return
+ whether a simplification was made.
+ (simplify_stmt_using_ranges): Ditto, and accept a GSI. For GS_ASSIGN,
+ use a switch statement and also call simplify_truth_ops_using_ranges.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * ggc-common.c (loc_array): Make static.
+ * dce.c (rest_of_handle_ud_dce): Free worklist.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_release_function_body): Plug memory leak on
+ ipa_transforms_to_apply and CFG; ggc_free gimple df and struct function
+ so we are sure we do not dangle it forever.
+ * function.c (outer_function_chain, find_function_data): Remove.
+ (function_context_stack): New.
+ (push_function_context, pop_function_context): Update.
+ * function.h (struct function): Remove pointer outer.
+ (outer_function_chain, find_function_data): Remove.
+ * stmt.c (force_label_rtx): Remove dead call of find_function_data.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/37448
+ * cgraph.c (cgraph_create_edge): Use !cgraph_edge for sanity check.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-pre.c (phi_translate_1): Fix memory leak
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
+ (free_var_map_entry): New function.
+ (redirect_edge_var_map_destroy): Use it.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/37448
+ * tree-inline.c (add_lexical_block): Replace with ...
+ (prepend_lexical_block): ... prepend at begginig.
+ (remap_blocks): Use it and reverse later.
+ (expand_call_inline): Use prepend_lexical_block.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * gimplify.c (pop_gimplify_context): Free bind_expr_stack.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * function.c (free_after_compilation): Call insn_locators_free.
+ * cfglayout.c (insn_locators_free): New function.
+ * rtl.h (insn_locators_free): Declare.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * ifcvt.c (check_cond_move_block): Make regs argument pointer to
+ vector pointer.
+ (cond_move_process_if_block): Update call.
+
+2008-09-11 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (dump_memory_report): Call dump_vec_loc_statistics.
+ * vec.c: Include hashtab.h
+ (vec_descriptor, ptr_hash_entry): New structures.
+ (vec_desc_hash, vec_ptr_map): New static variables.
+ (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr, vec_descriptor,
+ register_overhead, free_overhead, vec_heap_free): New functions.
+ (vec_gc_o_reserve_1): ggc_free when resizing to 0.
+ (vec_heap_o_reserve_1): free when resizing to 0; add statistics.
+ (cmp_statistic, add_statistics, dump_vec_loc_statistics): New functions.
+
+2008-09-11 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/37474
+ * tree-vect-analyze.c (vect_supported_load_permutation_p): Check the
+ length of load permutation.
+
+2008-09-11 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.h (IRA_COVER_CLASSES): Define.
+
2008-09-11 Jakub Jelinek <jakub@redhat.com>
PR target/37382
@@ -62,8 +255,8 @@
2008-09-10 Jan Hubicka <jh@suse.cz>
* value-prof.c (gimple_ic): Fix tuplification bug.
- * sched-deps.c (sched_insns_conditions_mutex_p): Silence unitialized var
- warning.
+ * sched-deps.c (sched_insns_conditions_mutex_p): Silence unitialized
+ var warning.
2008-09-10 Jakub Jelinek <jakub@redhat.com>
@@ -156,8 +349,8 @@
set_instantiated_value): Pass instantiated_below.
(analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls to
above functions.
- (instantiate_scev_1, instantiate_scev): Pass a basic block above which the
- definitions are not instantiated.
+ (instantiate_scev_1, instantiate_scev): Pass a basic block above which
+ the definitions are not instantiated.
* tree-scalar-evolution.h (instantiate_scev): Update declaration.
(block_before_loop): New.
@@ -206,8 +399,8 @@
2008-09-09 Jan Hubicka <jh@suse.cz>
- * profile.c (is_edge_inconsistent): Add debug output; ignore negative count
- on fake edges.
+ * profile.c (is_edge_inconsistent): Add debug output; ignore
+ negative count on fake edges.
(is_inconsistent): Add debug output.
2008-09-09 Andrey Belevantsev <abel@ispras.ru>
@@ -387,7 +580,8 @@
2008-09-06 Jan Hubicka <jh@suse.cz>
PR tree-optimization/14703
- * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored declarations.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored
+ declarations.
* passes.c (init_optimization_passes): Recompute inline parameters.
2008-09-06 Richard Sandiford <rdsandiford@googlemail.com>
@@ -446,9 +640,8 @@
2008-09-05 Vladimir Makarov <vmakarov@redhat.com>
- * ira-color.c (ira_fast_allocation): Permit global allocno
- allocation.
-
+ * ira-color.c (ira_fast_allocation): Permit global allocno allocation.
+
2008-09-05 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Improved branch hints, safe hints, and scheduling.
@@ -719,8 +912,7 @@
2008-09-04 Nick Clifton <nickc@redhat.com>
- * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler
- check.
+ * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an
@@ -880,11 +1072,9 @@
2008-09-03 Danny Smith <dannysmith@usrs.sourceforge.net>
- * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is
- defined.
+ * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined.
(__gthread_setspecific): Revert 2008-08-31 change to
- __GTHREAD_HIDE_W32API case. Apply it to !__GTHREAD_HIDE_W32API
- case.
+ __GTHREAD_HIDE_W32API case. Apply it to !__GTHREAD_HIDE_W32API case.
2008-09-02 Aldy Hernandez <aldyh@redhat.com>
@@ -951,7 +1141,8 @@
2008-09-02 Jan Hubicka <jh@suse.cz>
* predict.c (pass_strip_predict_hints): Avoid bugs dump file.
- * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap
+ * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and
+ sdiv_pow2_cheap
2008-09-02 H.J. Lu <hongjiu.lu@intel.com>
@@ -1146,8 +1337,7 @@
error.
* c-omp.c (c_finish_omp_atomic): Pass location when calling
build_indirect_ref.
- * c-common.c (finish_label_address_expr): Handle new location
- argument.
+ * c-common.c (finish_label_address_expr): Handle new location argument.
* c-common.h (build_indirect_ref): Add argument.
(finish_label_address_expr): Same.
* c-parser.c (c_parser_unary_expression): Pass location to build
@@ -1165,8 +1355,7 @@
* config/arm/vfp.md: Document fcpys, ffariths, ffarithd, fadds, faddd,
fconsts, fconstd, fcmps and fcmpd. Use them in insn patterns.
* config/arm/arm.c (arm_issue_rate): Add cortexr4f.
- * config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn
- types.
+ * config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn types.
* config/arm/cortex-a8-neon.md (cortex_a8_vfp_add_sub,
cortex_a8_vfp_farith: Ditto.
* config/arm/vfp11.md (vfp_ffarith, vfp_farith): Ditto.
@@ -1203,7 +1392,8 @@
* config/spu/spu.c (spu_expand_block_move) Update call of MOVE_RATIO.
- * expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P): Pass speed operand.
+ * expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P):
+ Pass speed operand.
* expr.h (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Update.
* gimplify.c (gimplify_init_constructor): Add speed operand.
* tree-sra.c (decide_block_copy): Likewise.
@@ -1219,16 +1409,17 @@
* config/arm/arm.h (MOVE_RATIO): Update.
* config/pa/pa.md: Update uses of MOVE_RATIO
* config/pa/pa.h (MOVE_RATIO): Update.
- * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES, CLEAR_RATIO, SET_RATIO): Update.
+ * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES,
+ CLEAR_RATIO, SET_RATIO): Update.
* config/h8300/h8300.h (MOVE_RATIO): Update.
* config/v850/v850.h (MOVE_RATIO): Update.
* config/bfin/bfin.h (MOVE_RATIO): Update.
2008-08-31 Andrey Belevantsev <abel@ispras.ru>
- Dmitry Melnik <dm@ispras.ru>
- Dmitry Zhurikhin <zhur@ispras.ru>
- Alexander Monakov <amonakov@ispras.ru>
- Maxim Kuvyrkov <maxim@codesourcery.com>
+ Dmitry Melnik <dm@ispras.ru>
+ Dmitry Zhurikhin <zhur@ispras.ru>
+ Alexander Monakov <amonakov@ispras.ru>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
* sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c,
sel-sched-dump.c, sel-sched-ir.c: New files.
@@ -1251,13 +1442,15 @@
* common.opt (fsel-sched-bookkeeping, fsel-sched-pipelining,
fsel-sched-pipelining-outer-loops, fsel-sched-renaming,
fsel-sched-substitution, fselective-scheduling): New flags.
- * cse.c (hash_rtx_cb): New.
+ * cse.c (hash_rtx_cb): New.
(hash_rtx): Use it.
* dbgcnt.def (sel_sched_cnt, sel_sched_region_cnt,
sel_sched_insn_cnt): New counters.
- * final.c (compute_alignments): Export. Free dominance info after loop_optimizer_finalize.
+ * final.c (compute_alignments): Export. Free dominance
+ info after loop_optimizer_finalize.
* genattr.c (main): Output maximal_insn_latency prototype.
- * genautomata.c (output_default_latencies): New. Factor its code from ...
+ * genautomata.c (output_default_latencies): New.
+ Factor its code from ...
(output_internal_insn_latency_func): ... here.
(output_internal_maximal_insn_latency_func): New.
(output_maximal_insn_latency_func): New.
@@ -1268,8 +1461,9 @@
(EXECUTE_IF_SET_IN_HARD_REG_SET): New macro.
* lists.c (remove_free_INSN_LIST_node,
remove_free_EXPR_LIST_node): New functions.
- * loop-init.c (loop_optimizer_init): When LOOPS_HAVE_FALLTHRU_PREHEADERS,
- set CP_FALLTHRU_PREHEADERS when calling create_preheaders.
+ * loop-init.c (loop_optimizer_init): When
+ LOOPS_HAVE_FALLTHRU_PREHEADERS, set CP_FALLTHRU_PREHEADERS when
+ calling create_preheaders.
(loop_optimizer_finalize): Do not verify flow info after reload.
* recog.c (validate_replace_rtx_1): New parameter simplify.
Default it to true. Update all uses. Factor out simplifying
@@ -1497,7 +1691,8 @@
(deps_t): New.
(struct sched_info): Rename to haifa_sched_info. Use const_rtx for
print_insn field. Move add_block and fix_recovery_cfg to
- common_sched_info_def. Move compute_jump_reg_dependencies, use_cselib ...
+ common_sched_info_def. Move compute_jump_reg_dependencies,
+ use_cselib ...
(struct sched_deps_info_def): ... this new structure.
(sched_deps_info): Declare.
(struct spec_info_def): Remove weakness_cutoff, add
@@ -1561,7 +1756,8 @@
(find_single_block_region): Add new argument to indicate that EBB
regions should be constructed.
(debug_live): Delete declaration.
- (current_nr_blocks, current_blocks, target_bb): Remove static qualifiers.
+ (current_nr_blocks, current_blocks, target_bb):
+ Remove static qualifiers.
(compute_dom_prob_ps, check_live, update_live, set_spec_fed): Delete
declaration.
(init_regions): Delete declaration.
@@ -1580,7 +1776,8 @@
(debug_rgn_dependencies): Delete static qualifier.
(new_ready): Use sched_deps_info. Simplify.
(rgn_common_sched_info, rgn_const_sched_deps_info,
- rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info): New.
+ rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info):
+ New.
(region_sched_info): Rename to rgn_const_sched_info.
(deps_join): New, extracted from ...
(propagate_deps): ... here.
@@ -1618,7 +1815,8 @@
requested from command line.
* doc/invoke.texi: Document new flags and parameters.
* doc/tm.texi: Document new target hooks.
- * config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to ia64_gen_check.
+ * config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to
+ ia64_gen_check.
(dfa_state_size): Do not declare locally.
* config/ia64/ia64.opt (msched-ar-data-spec): Default to 0.
* config/rs6000/rs6000.c (rs6000_init_sched_context,
@@ -1697,7 +1895,8 @@
2008-08-31 Jan Hubicka <jh@suse.cz>
- * postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p.
+ * postreload-gcse.c (eliminate_partially_redundant_loads):
+ Use optimize_bb_for_size_p.
* predict.c (maybe_hot_frequency_p): Make inline.
(maybe_hot_count_p): Break out from ...
(maybe_hot_bb_p): ... this one.
@@ -1856,8 +2055,10 @@
* config/m68hc11/m68hc11.c
(m68hc11_address_cost, m68hc11_rtx_costs): Update.
* config/cris/cris.c (cris_rtx_costs, cris_address_cost): Update.
- * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost): Update.
- * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs): Update
+ * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost):
+ Update.
+ * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs):
+ Update
* config/ia64/ia64.c (ia64_rtx_costs): Update.
* config/m68k/m68k.c (m68k_rtx_costs): Update.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Update.
@@ -2062,10 +2263,10 @@
* dojump.c (do_jump): Likewise.
* ifcvt.c (MAX_CONDITIONAL_EXECUTE): Likewise.
(note-if_info): Add BRANCH_COST.
- (noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask,
- noce_try_cmove_arith, noce_try_cmove_arith, noce_try_cmove_arith,
- noce_find_if_block, find_if_case_1, find_if_case_2): Use compuated
- branch cost.
+ (noce_try_store_flag_constants, noce_try_addcc,
+ noce_try_store_flag_mask, noce_try_cmove_arith, noce_try_cmove_arith,
+ noce_try_cmove_arith, noce_find_if_block, find_if_case_1,
+ find_if_case_2): Use computed branch cost.
* expr.h (BRANCH_COST): Update default.
* predict.c (predictable_edge_p): New function.
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, emit_store_flag):
@@ -2273,7 +2474,6 @@
2008-08-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-opt/37251
-
* ira-color.c (push_allocnos_to_stack): Truncate
removed_splay_allocno_vec.
@@ -2375,9 +2575,11 @@
2008-08-29 Jan Hubicka <jh@suse.cz>
* loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p.
- * tree-ssa-threadupdate.c (mark_threaded_blocks): Use optimize_function_for_size_p.
+ * tree-ssa-threadupdate.c (mark_threaded_blocks):
+ Use optimize_function_for_size_p.
* tracer.c (ignore_bb_p): Use optimize_bb_for_size_p.
- * postreload-gcse.c (eliminate_partially_redundant_load): Use optimize_bb_for_size_p.
+ * postreload-gcse.c (eliminate_partially_redundant_load):
+ Use optimize_bb_for_size_p.
* value-prof.c (gimple_divmod_fixed_value_transform,
gimple_mod_pow2_value_transform, gimple_mod_subtract_transform,
gimple_stringops_transform): Use optimize_bb_for_size_p.
@@ -2388,16 +2590,18 @@
optimize_function_for_size_p.
* fold-const.c (tree_swap_operands_p): Use optimize_function_for_size_p.
* recog.c (relax_delay_slots): Likewise.
- * tree-ssa-math-opts.c (replace_reciprocal): Use optimize_bb_for_speed_p.
+ * tree-ssa-math-opts.c (replace_reciprocal):
+ Use optimize_bb_for_speed_p.
(execute_cse_reciprocals): Use optimize_bb_for_size_p.
* ipa-inline.c (cgraph_decide_recursive_inlining): Use
optimize_function_for_size_p.
(cgraph_decide_inlining_of_small_function): Use
optimize_function_for_size_p.
* global.c (find_reg): Use optimize_function_for_size_p.
- * opts.c (decode_options): Do not clear flag_tree_ch, flag_inline_functions,
- flag_unswitch_loops, flag_unroll_loops, flag_unroll_all_loops and
- flag_prefetch_loop_arrays. Those can work it out from profile.
+ * opts.c (decode_options): Do not clear flag_tree_ch,
+ flag_inline_functions, flag_unswitch_loops, flag_unroll_loops,
+ flag_unroll_all_loops and flag_prefetch_loop_arrays. Those can
+ work it out from profile.
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Use
optimize_loop_for_speed_p.
* predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p): Constify
@@ -2408,13 +2612,15 @@
* local-alloc.c (block_alloc): Pass BB pointer.
(find_free_reg): Add BB pointer, use optimize_bb_for_size_p.
* gcse.c (gcse_main): Use optimize_function_for_size_p.
- * loop-unroll.c (decide_unrolling_and_peeling): Use optimize_loop_for_size_p.
+ * loop-unroll.c (decide_unrolling_and_peeling):
+ Use optimize_loop_for_size_p.
(decide_peel_completely): Likewise.
* tree-vect-analyze.c (vect_mark_for_runtime_alias_test): Use
optimize_loop_for_size_p.
(vect_enhance_data_refs_alignment): Likewise.
* tree-ssa-coalesce.c (coalesce_cost): Add optimize_for_size argument.
- (coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map): Update call.
+ (coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map):
+ Update call.
* cfgcleanup.c (outgoing_edges_match): Use optimize_bb_for_speed_p.
(try_crossjump_bb): Use optimize_bb_for_size_p.
* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use
@@ -2449,8 +2655,8 @@
(tree_bb_level_predictions): Do not remove GIMPLE_PREDICT.
(tree_estimate_probability): Do not strip builtin_expect.
(pass_strip_predict_hints): New pass.
- * tree-inline.c (expand_call_inline): When inlining cold function, predict
- it as unlikely.
+ * tree-inline.c (expand_call_inline): When inlining cold function,
+ predict it as unlikely.
* passes.c (init_optimization_passes): Add pass_strip_predict_hints.
2008-08-29 Richard Guenther <rguenther@suse.de>
@@ -2500,8 +2706,7 @@
* config/mips/mips.h (ISA_HAS_DMUL3): New macro.
* config/mips/mips.md (D): New mode attribute.
(mulsi3, muldi3): Merge it into ...
- (mul<mode>3): ... new template. Use _mul3 ending for 3-op
- patterns.
+ (mul<mode>3): ... new template. Use _mul3 ending for 3-op patterns.
(muldi3_mul3): New pattern.
(mulsi3_mult3): Rename to mulsi3_mul3.
@@ -3406,7 +3611,7 @@
* config/arm/arm1020e.md: Remove out of date duplicate comment.
(v10_cvt): Use new fmul types.
-2008-08-26 Paul Brook <paul@codesourcery.com>
+2008-08-26 Paul Brook <paul@codesourcery.com>
* config/arm/vfp.md: Move pipeline description for VFP11 to...
* config/arm/vfp11.md: ...here. New.
@@ -3794,7 +3999,8 @@
(ipcp_create_replace_map): Reformat.
(ipcp_need_redirect_p): Simplify.
(ipcp_insert_stage): Check that argument is used before clonning.
- * ipa-prop.c (ipa_print_node_jump_functions): Do not handle IPA_CONST_REF.
+ * ipa-prop.c (ipa_print_node_jump_functions): Do not handle
+ IPA_CONST_REF.
(compute_scalar_jump_functions): Simplify using is_gimple_ip_invariat.
(determine_cst_member_ptr): Keep wrapping ADDR_EXPR of members.
(update_call_notes_after_inlining): Expect ADDR_EXPR in operand.
@@ -3912,8 +4118,7 @@
* c-tree.h (grokfield): New argument.
* c-decl.c (grokfield): Handle new location argument.
- * c-parser.c (c_parser_struct_declaration): Pass location to
- grokfield.
+ * c-parser.c (c_parser_struct_declaration): Pass location to grokfield.
2008-08-21 Richard Guenther <rguenther@suse.de>
@@ -4498,13 +4703,12 @@
("type" attribute): Removed itof and added ftrunctf,ftruncdf,
ftruncsd, ftruncdd, itoftf, itofdf, itofsf, itofdd, itoftd,
fdivdd, fdivtd, floaddd, floadsd, fmuldd, fmultd, fsimpdd,
- fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible
- values.
+ fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible values.
("bfp" mode attribute): Removed. Every occurence replaced
with <mode>.
* config/s390/s390.c (struct "z10_cost"): Updated entries.
* config/s390/2084.md (insn_reservation "x_itof"): Updated
- type attribute.
+ type attribute.
2008-08-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
@@ -4599,8 +4803,7 @@
handled. -pedantic also enables Wmain.
(c_common_post_options): Handle all logic for Wmain here.
* c-common.c (warn_main): Delete.
- (check_main_parameter_types): Make pedwarns conditional on
- OPT_Wmain.
+ (check_main_parameter_types): Make pedwarns conditional on OPT_Wmain.
* c-common.h (warn_main): Delete.
2008-08-13 H.J. Lu <hongjiu.lu@intel.com>
@@ -5093,8 +5296,7 @@
* c-typeck.c (digest_init): Call verify_sequence_points from here.
(c_finish_return): Likewise.
(c_start_case): Likewise.
- * c-common.c (warn_for_collisions_1): Use explicit location in
- warning.
+ * c-common.c (warn_for_collisions_1): Use explicit location in warning.
* c-parser.c (c_parser_condition): New. Call
verify_sequence_points.
(c_parser_paren_condition): Call c_parser_condition.
@@ -5268,8 +5470,7 @@
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
- * config/i386/emmintrin.h (_mm_move_epi64): Use
- __builtin_ia32_movq128.
+ * config/i386/emmintrin.h (_mm_move_epi64): Use __builtin_ia32_movq128.
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128.
(bdesc_args): Add IX86_BUILTIN_MOVQ128.
@@ -5413,8 +5614,7 @@
* config/sh/sh.c (prepare_move_operands, output_far_jump,
output_branchy_insn, add_constant, gen_block_redirect,
sh_insn_length_adjustment, sh_cannot_change_mode_class,
- sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload):
- Likewise.
+ sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload): Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* config/stormy16/stormy16.c (xstormy16_output_cbranch_hi,
xstormy16_output_cbranch_si, xstormy16_secondary_reload_class,
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