This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap failures
- From: Jan Hubicka <jh at suse dot cz>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <jh at suse dot cz>, Richard Guenther <rguenther at suse dot de>
- Date: Sat, 21 Oct 2006 13:22:27 +0200
- Subject: Re: Bootstrap failures
- References: <20061020170400.GA2835@atrey.karlin.mff.cuni.cz> <4aca3dc20610201009v5620853cre4a13c22ed3d3a1b@mail.gmail.com>
> On 10/20/06, Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> wrote:
> >Hello,
> >
> >I am getting bootstap failures on i686 and x86_64 during libjava build,
> >that seem to be caused by your patch (probably the same problem as
> >the one reported in
> >http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01033.html,
> >however, on a platform easier to access).
> >
> >Zdenek
> >
>
> I am testing a fix for all of these issues (compile time, memory
> usage, bootstrap failure).
>
> It will end up losing us some generated code performance, but should
> fix all the issues.
>
> The diff being tested is attached (it possibly doesn't even bootstrap
> yet, i just made the changes a second ago)
Hi,
looks like your patch further increase memory consumption. Overall
footprint of -O1 insn-attrtab compilation is now 15% up compared to day
before yesterday.
Honza
comparing combine.c compilation at -O0 level:
Overall memory needed: 24809k -> 24797k
Peak memory use before GGC: 8930k -> 8929k
Peak memory use after GGC: 8558k
Maximum of released memory in single GGC run: 2577k -> 2576k
Garbage: 34893k -> 34878k
Leak: 6073k -> 6073k
Overhead: 4716k -> 4715k
GGC runs: 294
comparing combine.c compilation at -O1 level:
Amount of produced GGC garbage increased from 55253k to 55748k, overall 0.90%
Overall memory needed: 36229k -> 36237k
Peak memory use before GGC: 16998k -> 16999k
Peak memory use after GGC: 16830k
Maximum of released memory in single GGC run: 2310k -> 2342k
Garbage: 55253k -> 55748k
Leak: 6147k -> 6151k
Overhead: 6005k -> 6045k
GGC runs: 366 -> 369
comparing combine.c compilation at -O2 level:
Amount of produced GGC garbage increased from 74206k to 76521k, overall 3.12%
Overall memory needed: 26496k
Peak memory use before GGC: 17001k -> 16999k
Peak memory use after GGC: 16830k
Maximum of released memory in single GGC run: 2842k -> 2884k
Garbage: 74206k -> 76521k
Leak: 6276k -> 6252k
Overhead: 8696k -> 8785k
GGC runs: 439 -> 443
comparing combine.c compilation at -O3 level:
Amount of produced GGC garbage increased from 101807k to 107354k, overall 5.45%
Overall memory needed: 25596k
Peak memory use before GGC: 18001k -> 17988k
Peak memory use after GGC: 17545k -> 17536k
Maximum of released memory in single GGC run: 3996k -> 4130k
Garbage: 101807k -> 107354k
Leak: 6337k -> 6317k
Overhead: 12067k -> 12408k
GGC runs: 489 -> 490
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 83700k
Peak memory use before GGC: 68248k -> 68247k
Peak memory use after GGC: 43913k
Maximum of released memory in single GGC run: 35709k -> 35708k
Garbage: 125972k -> 125964k
Leak: 9117k -> 9117k
Overhead: 16830k -> 16830k
GGC runs: 231
comparing insn-attrtab.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 111856k to 118444k, overall 5.89%
Peak amount of GGC memory allocated before garbage collecting increased from 89585k to 94551k, overall 5.54%
Peak amount of GGC memory still allocated after garbage collectin increased from 82960k to 90403k, overall 8.97%
Amount of produced GGC garbage increased from 272884k to 289427k, overall 6.06%
Overall memory needed: 111856k -> 118444k
Peak memory use before GGC: 89585k -> 94551k
Peak memory use after GGC: 82960k -> 90403k
Maximum of released memory in single GGC run: 31806k -> 31807k
Garbage: 272884k -> 289427k
Leak: 8979k -> 8977k
Overhead: 29303k -> 29408k
GGC runs: 232 -> 240
comparing insn-attrtab.c compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 108256k to 114404k, overall 5.68%
Peak amount of GGC memory allocated before garbage collecting increased from 91054k to 95237k, overall 4.59%
Peak amount of GGC memory still allocated after garbage collectin increased from 83154k to 90625k, overall 8.98%
Amount of produced GGC garbage increased from 311213k to 328157k, overall 5.44%
Overall memory needed: 108256k -> 114404k
Peak memory use before GGC: 91054k -> 95237k
Peak memory use after GGC: 83154k -> 90625k
Maximum of released memory in single GGC run: 30385k -> 30386k
Garbage: 311213k -> 328157k
Leak: 8986k -> 8982k
Overhead: 36327k -> 36436k
GGC runs: 258 -> 269
comparing insn-attrtab.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 108280k to 114436k, overall 5.69%
Peak amount of GGC memory allocated before garbage collecting increased from 91079k to 95263k, overall 4.59%
Peak amount of GGC memory still allocated after garbage collectin increased from 83179k to 90651k, overall 8.98%
Amount of produced GGC garbage increased from 311793k to 328738k, overall 5.43%
Overall memory needed: 108280k -> 114436k
Peak memory use before GGC: 91079k -> 95263k
Peak memory use after GGC: 83179k -> 90651k
Maximum of released memory in single GGC run: 30579k -> 30582k
Garbage: 311793k -> 328738k
Leak: 8989k -> 8984k
Overhead: 36500k -> 36612k
GGC runs: 260 -> 271
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 116568k
Peak memory use before GGC: 92730k -> 92731k
Peak memory use after GGC: 91812k
Maximum of released memory in single GGC run: 19777k -> 19778k
Garbage: 201487k -> 200877k
Leak: 47326k -> 47326k
Overhead: 20524k -> 20503k
GGC runs: 400 -> 399
comparing Gerald's testcase PR8361 compilation at -O1 level:
Amount of produced GGC garbage increased from 435371k to 436946k, overall 0.36%
Overall memory needed: 115728k
Peak memory use before GGC: 97572k
Peak memory use after GGC: 95362k
Maximum of released memory in single GGC run: 18425k
Garbage: 435371k -> 436946k
Leak: 49820k -> 49793k
Overhead: 31940k -> 32048k
GGC runs: 545 -> 546
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 115708k
Peak memory use before GGC: 97575k -> 97573k
Peak memory use after GGC: 95363k
Maximum of released memory in single GGC run: 18424k
Garbage: 512007k -> 505402k
Leak: 50831k -> 50510k
Overhead: 41799k -> 40543k
GGC runs: 622 -> 616
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 115644k -> 115648k
Peak memory use before GGC: 97616k
Peak memory use after GGC: 96649k
Maximum of released memory in single GGC run: 18845k
Garbage: 529605k -> 523573k
Leak: 50347k -> 50058k
Overhead: 42236k -> 41001k
GGC runs: 631 -> 624
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 134128k -> 133788k
Peak memory use before GGC: 81623k
Peak memory use after GGC: 58503k
Maximum of released memory in single GGC run: 45493k -> 45494k
Garbage: 143593k -> 143586k
Leak: 7138k -> 7138k
Overhead: 25104k -> 25104k
GGC runs: 87
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Overall memory needed: 420516k -> 420900k
Peak memory use before GGC: 203205k -> 203238k
Peak memory use after GGC: 198981k -> 199035k
Maximum of released memory in single GGC run: 100817k -> 100858k
Garbage: 265037k -> 265252k
Leak: 47213k -> 47214k
Overhead: 30028k -> 30028k
GGC runs: 106
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory needed: 346044k -> 347040k
Peak memory use before GGC: 203956k -> 203993k
Peak memory use after GGC: 199732k -> 199791k
Maximum of released memory in single GGC run: 107089k -> 107135k
Garbage: 354552k -> 354765k
Leak: 47796k -> 47798k
Overhead: 47628k -> 47629k
GGC runs: 113
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Overall memory needed: 533520k -> 533168k
Peak memory use before GGC: 314653k -> 314706k
Peak memory use after GGC: 292995k -> 293028k
Maximum of released memory in single GGC run: 163448k -> 163494k
Garbage: 487508k -> 487556k
Leak: 65129k -> 65130k
Overhead: 58885k -> 58865k
GGC runs: 100
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2006-10-20 09:58:42.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2006-10-21 08:52:15.000000000 +0000
@@ -1,3 +1,29 @@
+2006-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ * BASE-VER: Set to 4.3.0.
+
+2006-10-20 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree.h (DECL_PTA_ARTIFICIAL): Remove.
+ (tree_decl_with_vis): Remove artificial_pta_var flag.
+ * tree-flow.h (referenced_var_check_and_insert): Expose.
+ (nonlocal_all): New prototype.
+ * tree-ssa-structalias.c (nonlocal_for_type): Remove.
+ (nonlocal_all): Make global.
+ (nonlocal_lookup): Remove.
+ (nonlocal_insert): Ditto.
+ (create_nonlocal_var): Do not call nonlocal_insert.
+ (get_nonlocal_id_for_type): Remove.
+ (find_global_initializers): Mark new vars we find for renaming.
+ (intra_create_variable_infos): Only create one nonlocal.
+ (expand_nonlocal_solutions): Remove.
+ (compute_points_to_sets): Don't call it.
+ (ipa_pta_execute): Ditto.
+ (init_alias_heapvars): Don't create nonlocal_for_type.
+ (delete_alias_heapvars): Don't remove it.
+ * tree-ssa-operands.c (access_can_touch_variable): Don't prune
+ nonlocal_all.
+
2006-10-19 Brooks Moses <bmoses@stanford.edu>
* doc/install.texi (Downloading GCC): Clarify mention of
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.