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: Mon, 27 Feb 2006 13:00:19 +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 combine.c compilation at -O0 level:
Overall memory needed: 25360k -> 25280k
Peak memory use before GGC: 9567k
Peak memory use after GGC: 8914k
Maximum of released memory in single GGC run: 2648k
Garbage: 40060k -> 40058k
Leak: 6741k
Overhead: 5738k -> 5738k
GGC runs: 313
comparing combine.c compilation at -O1 level:
Amount of memory still referenced at the end of compilation increased from 6880k to 6889k, overall 0.13%
Overall memory needed: 26900k
Peak memory use before GGC: 17435k -> 17437k
Peak memory use after GGC: 17256k -> 17258k
Maximum of released memory in single GGC run: 2309k -> 2317k
Garbage: 62362k -> 61862k
Leak: 6880k -> 6889k
Overhead: 7473k -> 7346k
GGC runs: 391 -> 387
comparing combine.c compilation at -O2 level:
Overall memory needed: 26900k
Peak memory use before GGC: 17438k -> 17439k
Peak memory use after GGC: 17256k -> 17258k
Maximum of released memory in single GGC run: 2400k -> 2410k
Garbage: 82349k -> 81581k
Leak: 6974k -> 6973k
Overhead: 10196k -> 9986k
GGC runs: 462 -> 456
comparing combine.c compilation at -O3 level:
Overall memory needed: 26900k
Peak memory use before GGC: 18434k -> 18436k
Peak memory use after GGC: 17993k -> 17995k
Maximum of released memory in single GGC run: 3496k -> 3504k
Garbage: 113615k -> 112506k
Leak: 7053k -> 7055k
Overhead: 13932k -> 13632k
GGC runs: 518 -> 515
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 80948k
Peak memory use before GGC: 69509k
Peak memory use after GGC: 45045k
Maximum of released memory in single GGC run: 36220k
Garbage: 146686k -> 146686k
Leak: 9892k
Overhead: 19751k
GGC runs: 247
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 109264k -> 109268k
Peak memory use before GGC: 92084k -> 92086k
Peak memory use after GGC: 81243k -> 81245k
Maximum of released memory in single GGC run: 32384k -> 32511k
Garbage: 296569k -> 293137k
Leak: 10073k -> 10073k
Overhead: 36195k -> 35440k
GGC runs: 246 -> 244
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 111584k -> 111588k
Peak memory use before GGC: 98561k -> 98559k
Peak memory use after GGC: 84975k -> 84973k
Maximum of released memory in single GGC run: 31927k -> 32084k
Garbage: 351824k -> 348825k
Leak: 10057k -> 10057k
Overhead: 45864k -> 45228k
GGC runs: 275 -> 273
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 111632k -> 111640k
Peak memory use before GGC: 98589k
Peak memory use after GGC: 85002k
Maximum of released memory in single GGC run: 32269k -> 32420k
Garbage: 352491k -> 349461k
Leak: 10061k
Overhead: 46066k -> 45424k
GGC runs: 281 -> 279
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 118252k
Peak memory use before GGC: 95028k
Peak memory use after GGC: 94080k
Maximum of released memory in single GGC run: 20299k
Garbage: 223449k -> 223449k
Leak: 49470k
Overhead: 37085k
GGC runs: 369
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 108460k
Peak memory use before GGC: 95143k
Peak memory use after GGC: 93152k
Maximum of released memory in single GGC run: 20158k
Garbage: 560919k -> 559120k
Leak: 52213k -> 52212k
Overhead: 63006k -> 62534k
GGC runs: 532 -> 529
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 108824k -> 108840k
Peak memory use before GGC: 95144k
Peak memory use after GGC: 93152k
Maximum of released memory in single GGC run: 20158k
Garbage: 683963k -> 681617k
Leak: 53294k -> 53296k
Overhead: 76035k -> 75307k
GGC runs: 619 -> 617
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 110792k
Peak memory use before GGC: 96537k
Peak memory use after GGC: 94580k
Maximum of released memory in single GGC run: 20582k
Garbage: 750497k -> 746770k
Leak: 54233k -> 54233k
Overhead: 80868k -> 80075k
GGC runs: 634 -> 631
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2006-02-26 16:00:53.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2006-02-27 04:29:14.000000000 +0000
@@ -1,3 +1,77 @@
+2006-02-26 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
+ (X & C) ne/eq 0, where C is a single bit, i.e. a power of two.
+ Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0"
+ as (X & C) ne/eq 0.
+
+2006-02-26 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/19983
+ * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes.
+
+2006-02-26 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * opts.c (decode_options): Do not handle flag_strength_reduce.
+ (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt
+ and OPT_fstrength_reduce.
+ * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test
+ flag_prefetch_loop_arrays for being nonzero.
+ * common.opt (floop-optimize, frerun-loop-opt): Resurrected as
+ no-ops.
+ (fprefetch-loop-arrays-rtl): Removed.
+ (flag_prefetch_loop_arrays): Do not specify the value.
+
+ * doc/passes.texi: Update documentation of loop optimizer
+ passes.
+ * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl,
+ -frerun-loop-opt): Remove.
+
+2006-02-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/26421
+ * tree-ssa-alias.c (find_used_portions): Don't treat parameters
+ in function calls that are ADDR_EXPRs as using the whole structure.
+
+2006-02-26 Steven Bosscher <stevenb.gcc@gmail.com>
+
+ * common.opt (-floop-optimize, -frerun-loop-opt): Remove.
+ * tree-pass.h (pass_loop_optimize): Remove.
+ * passes.c (pass_loop_optimize): Never run it.
+ * toplev.c (backend_init): Don't call init_loop.
+ * opts.c (flag_loop_optimize_set): Remove.
+ (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt.
+ (common_handle_option) <OPT_floop_optimize>: Remove. Don't disable
+ the old RTL loop optimizer when profiling enabled.
+ * predict.c (tree_estimate_probability): Always strip builtin_expect.
+ * cfgcleanup.c (try_forward_edges): Don't avoid killing loop
+ pre-headers for the sake of the old RTL loop optimizer.
+ * Makefile.in: Remove all references to loop.o.
+
+ * doc/invoke.texi: Remove all references to -floop-optimize
+ and -frerun-loop-opt.
+
+2006-02-26 Zack Weinberg <zackw@panix.com>
+
+ * doc/md.texi (Machine Constraints): Refer to all files with paths
+ relative to gcc directory (i.e. config/CPU/file). Add missing
+ @table @code ... @end table to M32C subsection.
+
+2006-02-26 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
+ (X & 1) == 0.
+ <BIT_AND_EXPR>: Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0.
+
+2006-02-26 Roger Sayle <roger@eyesopen.com>
+ James A. Morrison <phython@gcc.gnu.org>
+
+ PR middle-end/21137
+ * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
+ when C2 is a power of two, as either (X&(C2<<C1)) eq/ne 0 if the
+ new constant C2<<C1, or as (X<0) or (X,false) depending upon the
+ signedness of the shift operation.
+
2006-02-26 Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/26359
@@ -41,7 +115,7 @@
2006-02-24 Geoffrey Keating <geoffk@apple.com>
* doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS.
- * doc/invoke.texi (C++ Dialect Options): Document
+ * doc/invoke.texi (C++ Dialect Options): Document
-fno-use-cxa-get-exception-ptr.
* configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1.
* configure: Regenerate.
@@ -70,7 +144,7 @@
and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR,
LE_EXPR and GE_EXPR), calling fold_comparison to perform the
transformations common to both.
- (fold_div_compare): Fix latent bugs in the previously unreachable
+ (fold_div_compare): Fix latent bugs in the previously unreachable
LT_EXPR and GE_EXPR cases.
2006-02-24 David Edelsohn <edelsohn@gnu.org>
@@ -124,7 +198,7 @@
* emit-rtl.c (immed_double_const): Cleanup.
2006-02-23 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/26376
* tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree,
remove assert.
@@ -274,11 +348,11 @@
of loops surrounding the references from the callers, and initialize
DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and
base_object_differ_p analyzers.
- (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
+ (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
compute_overlap_steps_for_affine_1_2,
analyze_subscript_affine_affine): Count the classified dependences.
Print a message when a test failed.
- (can_use_analyze_subscript_affine_affine): New.
+ (can_use_analyze_subscript_affine_affine): New.
(analyze_siv_subscript): Compute the data dependences on symbolic
scevs that verify can_use_analyze_subscript_affine_affine.
(chrec_steps_divide_constant_p): Returns true, false, or unknown.
@@ -287,32 +361,32 @@
(analyze_overlapping_iterations): Let symbolic affine scevs to be
analyzed.
(subscript_dependence_tester): Moved...
- (build_classic_dist_vector, build_classic_dir_vector): Don't use
+ (build_classic_dist_vector, build_classic_dir_vector): Don't use
lambda_vector_clear on newly allocated vectors. Get nb_loops from
DDR_SIZE_VECT instead of getting it in parameter.
- (subscript_dependence_tester): ... here. Take as a parameter
+ (subscript_dependence_tester): ... here. Take as a parameter
loop_nest_depth. Call build_classic_dist_vector and
build_classic_dir_vector.
- (compute_affine_dependence): Update subscript_dependence_tester
- parameters. Update datadep_stats counters. Call
+ (compute_affine_dependence): Update subscript_dependence_tester
+ parameters. Update datadep_stats counters. Call
compute_subscript_distance.
- (compute_self_dependence): Save the dist and dir vectors. Call
+ (compute_self_dependence): Save the dist and dir vectors. Call
compute_subscript_distance.
(ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved...
(compute_all_dependences): Reorder parameters as they were before
conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call
- compute_subscript_distance. Update the use of
+ compute_subscript_distance. Update the use of
compute_affine_dependence and initialize_data_dependence_relation.
(find_data_references_in_loop): Handle COMPONENT_REF.
(compute_data_dependences_for_loop): Initialize dependence_stats.
Don't call build_classic_dist_vector and build_classic_dir_vector.
- Update the parameters of initialize_data_dependence_relation and
+ Update the parameters of initialize_data_dependence_relation and
compute_all_dependences. Print the statistics from datadep_stats.
(analyze_all_data_dependences): Static. Not used until the pass for
checking the data dependences is contributed.
* tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p),
DEF_VEC_ALLOC_P(ddr_p,heap)): ... here.
- (initialize_data_dependence_relation, compute_affine_dependence,
+ (initialize_data_dependence_relation, compute_affine_dependence,
analyze_all_data_dependences, compute_subscript_distance): Removed.
(print_direction_vector): New.
* lambda.h (gcd): ... here.
@@ -361,9 +435,9 @@
* tree-pass.h (PROP_tmt_usage): New property.
(TODO_update_tmt_usage): New todo.
* tree-ssa-alias.c (updating_used_alone): New variable.
- (recalculate_used_alone): New function.
+ (recalculate_used_alone): New function.
(compute_may_aliases): Set updating_used_alone, call
- recalculate_used_alone.
+ recalculate_used_alone.
* tree-sra.c (pass_sra): Note that this pass destroys
PROP_tmt_usage, and add TODO_update_tmt_usage.
* tree-ssa-forwprop.c (pass_forwprop): Ditto.
@@ -374,7 +448,7 @@
* tree-ssa-operands.c (add_virtual_operand): Only append bare def
for clobber if used alone, and add assert to verify used_alone
status.
-
+
2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com>
* config/s390/s390.c (legitimize_pic_address): Assertions checking
@@ -396,7 +470,7 @@
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
-
+
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
@@ -714,7 +788,7 @@
PR middle-end/25600
* fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
C is one less than the width of X (and related transformations).
- * simplify_rtx.c (simplify_unary_operation_1): Transform
+ * simplify_rtx.c (simplify_unary_operation_1): Transform
(neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
depending on STORE_FLAG_VALUE, were C is one less then the
width of X.
@@ -722,7 +796,7 @@
2006-02-17 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/26341
- * tree-ssa-operands.c (add_virtual_operand): Remove assert
+ * tree-ssa-operands.c (add_virtual_operand): Remove assert
about NAME_MEMORY_TAG's.
2006-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
@@ -734,7 +808,7 @@
general and floating-point registers to the 32-bit pattern.
* pa.c (pa_secondary_reload): Don't abort if reload tries to find a
secondary reload to load a QI or HI mode constant into a floating
- point register.
+ point register.
* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
* pa64-regs.h (VALID_FP_MODE_P): Likewise.
@@ -783,7 +857,7 @@
PR rtl-optimization/25603
* reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
(regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
- * reload1.c (choose_reload_regs): Added call of regno_clobbered_p
+ * reload1.c (choose_reload_regs): Added call of regno_clobbered_p
with new meaning of SETS.
2006-02-16 Joseph S. Myers <joseph@codesourcery.com>
@@ -871,7 +945,7 @@
(add_virtual_operand): Here. Add offset, size, and for_clobber
arguments. Prune alias sets.
(add_call_clobber_ops): Call add_virtual_operand.
-
+
2006-02-15 Jakub Jelinek <jakub@redhat.com>
PR middle-end/26300
@@ -983,7 +1057,7 @@
* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
* tree-ssa-structalias.c (create_variable_info_for): Use
MAX_FIELDS_FOR_FIELD_SENSITIVE.
-
+
2006-02-14 Zdenek Dvorak <dvorakz@suse.cz>
* doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
@@ -1116,7 +1190,7 @@
2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
* doc/invoke.texi (-Write-strings): Document that it is enabled by
- default.
+ default.
* c.opt (-Wwrite-strings): Declare variable warn_write_strings.
Clarify documentation.
* c-common.h (warn_write_strings): Remove.
@@ -1274,13 +1348,13 @@
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/26134
- * fold-const.c (fold_indirect_ref_1): Fold
+ * fold-const.c (fold_indirect_ref_1): Fold
"*(foo *)&complexfoo" to "__real__ complexfoo"
and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
- * tree-flow-inline.h (var_can_have_subvars):
+ * tree-flow-inline.h (var_can_have_subvars):
Volatile variables should not have subvariables.
2006-02-09 Diego Novillo <dnovillo@redhat.com>
@@ -1309,7 +1383,7 @@
Do return slot optimization if we have an INIT_EXPR.
PR tree-opt/24365
- * tree-inline.c (declare_return_variable): Also clear
+ * tree-inline.c (declare_return_variable): Also clear
DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
PR c++/16405
@@ -1564,7 +1638,7 @@
2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com>
- * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate
+ * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate
use of float in probability computations. Use edge probabilities
in place of statically computed probabilities.
(min_spec_prob): New static variable.
@@ -1770,7 +1844,7 @@
(insert_aux): Move AGGREGATE_TYPE_P check here.
(compute_avail): Set bb local stmt uids.
(pass_pre): Use TODO_update_ssa_only_virtuals.
-
+
2006-02-06 Ben Elliston <bje@au.ibm.com>
* configure.ac: Unconditionally disable decimal float by default.
@@ -1916,7 +1990,7 @@
* config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
"x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
- * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
+ * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
and dxr fields.
(z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
(s390_rtx_costs): Use the new fields to calculate rtx costs.
@@ -1928,41 +2002,41 @@
builtin define.
(LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
- (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
+ (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
- * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
+ * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
(FPR mode macro): Add TFmode.
(DSF mode macro): New.
(<de>, <dee> mode attributes): Removed.
(<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
- ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
- "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
- "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
- "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
- "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
+ ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
+ "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
+ "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
+ "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
+ "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
"*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
- "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
- "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
+ "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
+ "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
"*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
- "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
+ "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
"*negabs<mode>2", "sqrt<mode>2"):
Changed <de> to <xde>. R constraint replaced by <Rf>.
- ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
+ ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
<Rf>.
("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
- ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
- ("*movtf_64", "*movtf_31"): New insn definitions followed by 5
+ ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
+ ("*movtf_64", "*movtf_31"): New insn definitions followed by 5
splitters.
- ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
+ ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
"extenddftf2", "extendsftf2"): New expanders.
- ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
+ ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
"*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
"*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
* config/s390/s390.opt (mlong-double-128, mlong-double-64):
New options.
* config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
- * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
+ * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
__fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
__floatditf): Add a GCC_4.1.0 symbol version tag.
* doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
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.