public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
@ 2005-10-07 10:54 ` cvs-commit at gcc dot gnu dot org
  2005-10-07 11:17 ` rguenth at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-07 10:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #48 from cvs-commit at gcc dot gnu dot org  2005-10-07 10:54 -------
Subject: Bug 15855

CVSROOT:        /cvs/gcc
Module name:    gcc
Branch:         gcc-4_0-branch
Changes by:     rguenth@gcc.gnu.org     2005-10-07 10:54:10

Modified files:
        gcc/cp         : ChangeLog decl2.c 

Log message:
        2005-10-07  Richard Guenther  <rguenther@suse.de>

        Backport from mainline
        2005-09-26  Richard Guenther  <rguenther@suse.de>

        PR middle-end/15855
        * decl2.c (do_static_destruction): Remove.
        (finish_static_initialization_or_destruction): Likewise.
        (DECL_EFFECTIVE_INIT_PRIORITY): New macro.
        (NEEDS_GUARD_P): Likewise.
        (do_static_initialization): Rename to
        do_static_initialization_or_destruction.  Process all
        initializers/destructors and handle common conditionalizing.
        (start_static_initialization_or_destruction): Rename to
        one_static_initialization_or_destruction.  Handle only
        decl-specific conditionalizing.
        (cp_finish_file): Call do_static_initialization_or_destruction.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.118&r2=1.4648.2.119
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.770.2.9&r2=1.770.2.10


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
  2005-10-07 10:54 ` [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file cvs-commit at gcc dot gnu dot org
@ 2005-10-07 11:17 ` rguenth at gcc dot gnu dot org
  2005-10-17 16:34 ` dnovillo at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-10-07 11:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #49 from rguenth at gcc dot gnu dot org  2005-10-07 11:17 -------
So trying to get some updated comparison I noticed that the testcase fails to
compile with 3.3.x and compared to 3.4.x we have improved a lot wrt -O2
compile-time:

3.4:  1m32s,  peak at 230MB
4.1:    48s,  peak at 480MB

Still we are using too much memory.  Time-report for 4.1 does no longer show
obvious problems:

Execution times (seconds)
 garbage collection    :   0.50 ( 1%) usr   0.00 ( 0%) sys   0.50 ( 1%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.17 ( 0%) usr   0.01 ( 0%) sys   0.19 ( 0%) wall   
1898 kB ( 0%) ggc
 callgraph optimization:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 422 kB ( 0%) ggc
 ipa reference         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
  97 kB ( 0%) ggc
 ipa pure const        :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa type escape       :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg construction      :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 589 kB ( 0%) ggc
 cfg cleanup           :   0.26 ( 1%) usr   0.00 ( 0%) sys   0.27 ( 1%) wall   
 511 kB ( 0%) ggc
 trivially dead code   :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.23 ( 0%) wall   
   0 kB ( 0%) ggc
 life analysis         :   1.43 ( 3%) usr   0.00 ( 0%) sys   1.41 ( 3%) wall   
  91 kB ( 0%) ggc
 life info update      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
  11 kB ( 0%) ggc
 alias analysis        :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall   
3249 kB ( 1%) ggc
 register scan         :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall   
  49 kB ( 0%) ggc
 rebuild jump labels   :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 preprocessing         :   0.52 ( 1%) usr   0.29 (11%) sys   0.78 ( 1%) wall   
 732 kB ( 0%) ggc
 parser                :   3.27 ( 7%) usr   0.42 (15%) sys   3.84 ( 7%) wall 
121022 kB (21%) ggc
 name lookup           :   0.65 ( 1%) usr   0.48 (18%) sys   1.15 ( 2%) wall   
9424 kB ( 2%) ggc
 inline heuristics     :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
1163 kB ( 0%) ggc
 integration           :   0.90 ( 2%) usr   0.02 ( 1%) sys   0.93 ( 2%) wall  
46704 kB ( 8%) ggc
 tree gimplify         :   0.41 ( 1%) usr   0.01 ( 0%) sys   0.47 ( 1%) wall   
7205 kB ( 1%) ggc
 tree eh               :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
1725 kB ( 0%) ggc
 tree CFG construction :   0.04 ( 0%) usr   0.03 ( 1%) sys   0.06 ( 0%) wall   
5236 kB ( 1%) ggc
 tree CFG cleanup      :   0.25 ( 1%) usr   0.02 ( 1%) sys   0.29 ( 1%) wall   
 332 kB ( 0%) ggc
 tree VRP              :   0.37 ( 1%) usr   0.05 ( 2%) sys   0.44 ( 1%) wall   
2375 kB ( 0%) ggc
 tree copy propagation :   1.22 ( 2%) usr   0.23 ( 8%) sys   1.43 ( 3%) wall   
 997 kB ( 0%) ggc
 tree store copy prop  :   0.09 ( 0%) usr   0.06 ( 2%) sys   0.16 ( 0%) wall   
 202 kB ( 0%) ggc
 tree find ref. vars   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
6215 kB ( 1%) ggc
 tree PTA              :   1.80 ( 4%) usr   0.03 ( 1%) sys   1.88 ( 4%) wall   
4061 kB ( 1%) ggc
 tree alias analysis   :   3.18 ( 6%) usr   0.08 ( 3%) sys   3.40 ( 6%) wall   
5523 kB ( 1%) ggc
 tree PHI insertion    :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 459 kB ( 0%) ggc
 tree SSA rewrite      :   1.80 ( 4%) usr   0.14 ( 5%) sys   2.00 ( 4%) wall 
120115 kB (21%) ggc
 tree SSA other        :   0.17 ( 0%) usr   0.03 ( 1%) sys   0.19 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA incremental  :   4.90 (10%) usr   0.05 ( 2%) sys   4.86 ( 9%) wall   
5152 kB ( 1%) ggc
 tree operand scan     :   3.98 ( 8%) usr   0.29 (11%) sys   4.21 ( 8%) wall  
58117 kB (10%) ggc
 dominator optimization:   1.70 ( 3%) usr   0.04 ( 1%) sys   1.81 ( 3%) wall 
100326 kB (17%) ggc
 tree SRA              :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
  17 kB ( 0%) ggc
 tree STORE-CCP        :   0.15 ( 0%) usr   0.02 ( 1%) sys   0.11 ( 0%) wall   
 193 kB ( 0%) ggc
 tree CCP              :   0.54 ( 1%) usr   0.03 ( 1%) sys   0.56 ( 1%) wall   
 923 kB ( 0%) ggc
 tree split crit edges :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
 820 kB ( 0%) ggc
 tree reassociation    :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PRE              :   0.34 ( 1%) usr   0.00 ( 0%) sys   0.30 ( 1%) wall   
2854 kB ( 0%) ggc
 tree FRE              :   0.32 ( 1%) usr   0.03 ( 1%) sys   0.33 ( 1%) wall   
3726 kB ( 1%) ggc
 tree code sinking     :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
  78 kB ( 0%) ggc
 tree linearize phis   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
  63 kB ( 0%) ggc
 tree forward propagate:   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
1127 kB ( 0%) ggc
 tree conservative DCE :   0.49 ( 1%) usr   0.00 ( 0%) sys   0.52 ( 1%) wall   
   0 kB ( 0%) ggc
 tree aggressive DCE   :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree DSE              :   0.28 ( 1%) usr   0.00 ( 0%) sys   0.29 ( 1%) wall   
  28 kB ( 0%) ggc
 tree loop bounds      :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
  47 kB ( 0%) ggc
 scev constant prop    :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
  18 kB ( 0%) ggc
 tree iv optimization  :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
 194 kB ( 0%) ggc
 tree loop init        :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree copy headers     :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.00 ( 0%) wall   
 190 kB ( 0%) ggc
 tree SSA uncprop      :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA to normal    :   0.18 ( 0%) usr   0.05 ( 2%) sys   0.29 ( 1%) wall   
2239 kB ( 0%) ggc
 tree rename SSA copies:   0.14 ( 0%) usr   0.08 ( 3%) sys   0.18 ( 0%) wall   
   2 kB ( 0%) ggc
 control dependences   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 expand                :   1.41 ( 3%) usr   0.05 ( 2%) sys   1.52 ( 3%) wall  
27273 kB ( 5%) ggc
 varconst              :   0.06 ( 0%) usr   0.05 ( 2%) sys   0.10 ( 0%) wall   
 488 kB ( 0%) ggc
 jump                  :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
 959 kB ( 0%) ggc
 CSE                   :   5.51 (11%) usr   0.01 ( 0%) sys   5.39 (10%) wall   
 844 kB ( 0%) ggc
 loop analysis         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
 776 kB ( 0%) ggc
 global CSE            :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 CPROP 1               :   0.16 ( 0%) usr   0.01 ( 0%) sys   0.08 ( 0%) wall   
1463 kB ( 0%) ggc
 PRE                   :   0.14 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall   
 536 kB ( 0%) ggc
 CPROP 2               :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
 191 kB ( 0%) ggc
 bypass jumps          :   0.13 ( 0%) usr   0.01 ( 0%) sys   0.14 ( 0%) wall   
 195 kB ( 0%) ggc
 CSE 2                 :   3.13 ( 6%) usr   0.00 ( 0%) sys   3.22 ( 6%) wall   
 423 kB ( 0%) ggc
 branch prediction     :   0.19 ( 0%) usr   0.01 ( 0%) sys   0.13 ( 0%) wall   
 375 kB ( 0%) ggc
 flow analysis         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner              :   0.39 ( 1%) usr   0.00 ( 0%) sys   0.41 ( 1%) wall   
1802 kB ( 0%) ggc
 if-conversion         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
  36 kB ( 0%) ggc
 regmove               :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
  82 kB ( 0%) ggc
 local alloc           :   0.39 ( 1%) usr   0.01 ( 0%) sys   0.37 ( 1%) wall   
 778 kB ( 0%) ggc
 global alloc          :   0.87 ( 2%) usr   0.00 ( 0%) sys   0.90 ( 2%) wall   
2306 kB ( 0%) ggc
 reload CSE regs       :   2.34 ( 5%) usr   0.00 ( 0%) sys   2.47 ( 5%) wall   
2413 kB ( 0%) ggc
 flow 2                :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
 706 kB ( 0%) ggc
 if-conversion 2       :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 peephole 2            :   0.11 ( 0%) usr   0.01 ( 0%) sys   0.12 ( 0%) wall   
1729 kB ( 0%) ggc
 rename registers      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
  13 kB ( 0%) ggc
 scheduling 2          :   1.33 ( 3%) usr   0.01 ( 0%) sys   1.35 ( 3%) wall  
10690 kB ( 2%) ggc
 machine dep reorg     :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall   
  13 kB ( 0%) ggc
 reorder blocks        :   0.06 ( 0%) usr   0.01 ( 0%) sys   0.06 ( 0%) wall   
 522 kB ( 0%) ggc
 final                 :   0.35 ( 1%) usr   0.00 ( 0%) sys   0.41 ( 1%) wall   
1457 kB ( 0%) ggc
 symout                :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.02 ( 0%) wall   
 173 kB ( 0%) ggc
 TOTAL                 :  49.18             2.74            52.57            
573794 kB

With gc memory use the worst offenders are tree SSA rewrite and DOM.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
  2005-10-07 10:54 ` [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file cvs-commit at gcc dot gnu dot org
  2005-10-07 11:17 ` rguenth at gcc dot gnu dot org
@ 2005-10-17 16:34 ` dnovillo at gcc dot gnu dot org
  2005-10-17 16:46 ` law at redhat dot com
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-10-17 16:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #50 from dnovillo at gcc dot gnu dot org  2005-10-17 16:33 -------

This program no longer crashes cc1plus.  I propose to close this PR.  I don't
see anything obvious left to do that could be justified for 4.1.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2005-10-17 16:34 ` dnovillo at gcc dot gnu dot org
@ 2005-10-17 16:46 ` law at redhat dot com
  2005-10-17 17:32 ` dnovillo at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: law at redhat dot com @ 2005-10-17 16:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #51 from law at redhat dot com  2005-10-17 16:46 -------
Subject: Re:  [3.4/4.0/4.1 Regression] g++ crash with
        -O2 and -O3 on input file

On Mon, 2005-10-17 at 16:34 +0000, dnovillo at gcc dot gnu dot org
wrote:
> 
> ------- Comment #50 from dnovillo at gcc dot gnu dot org  2005-10-17 16:33 -------
> 
> This program no longer crashes cc1plus.  I propose to close this PR.  I don't
> see anything obvious left to do that could be justified for 4.1.
You might consider opening a 4.2 PR since there are definitely
things that could be further improved from a compile-time standpoint
for the code referenced in this PR.
jeff


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2005-10-17 16:46 ` law at redhat dot com
@ 2005-10-17 17:32 ` dnovillo at gcc dot gnu dot org
  2005-10-17 20:30 ` mark at codesourcery dot com
  2005-10-18 15:33 ` dnovillo at gcc dot gnu dot org
  6 siblings, 0 replies; 18+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-10-17 17:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #52 from dnovillo at gcc dot gnu dot org  2005-10-17 17:32 -------

Mark, there's probably not much else we can do in this PR for 4.1.  What I see
in the aliasing times involves quite a few changes, most of them from the
aliasing branch and some other similarly intrusive changes I've got on the
side.

Other than that, the timings are now relatively reasonable.  How do you want to
handle this?


-- 

dnovillo at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mmitchel at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2005-10-17 17:32 ` dnovillo at gcc dot gnu dot org
@ 2005-10-17 20:30 ` mark at codesourcery dot com
  2005-10-18 15:33 ` dnovillo at gcc dot gnu dot org
  6 siblings, 0 replies; 18+ messages in thread
From: mark at codesourcery dot com @ 2005-10-17 20:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #53 from mark at codesourcery dot com  2005-10-17 20:30 -------
Subject: Re:  [3.4/4.0/4.1 Regression] g++ crash with
 -O2 and -O3 on input file

dnovillo at gcc dot gnu dot org wrote:
> ------- Comment #52 from dnovillo at gcc dot gnu dot org  2005-10-17 17:32 -------
> 
> Mark, there's probably not much else we can do in this PR for 4.1.  What I see
> in the aliasing times involves quite a few changes, most of them from the
> aliasing branch and some other similarly intrusive changes I've got on the
> side.
> 
> Other than that, the timings are now relatively reasonable.  How do you want to
> handle this?

The original report was about crashing.  Now we don't.  So, clearly,
this PR should be closed.

If you think that we should still be able to do better in terms of
compile-time performance or memory usage, please open a new PR, targeted
at 4.2.

Thanks,


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
       [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2005-10-17 20:30 ` mark at codesourcery dot com
@ 2005-10-18 15:33 ` dnovillo at gcc dot gnu dot org
  6 siblings, 0 replies; 18+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-10-18 15:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #54 from dnovillo at gcc dot gnu dot org  2005-10-18 15:32 -------

Closing.  As discussed earlier, for all intents and purposes this is fixed.


-- 

dnovillo at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (9 preceding siblings ...)
  2005-09-26  8:43 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
  10 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 15:59 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.2                       |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (8 preceding siblings ...)
  2005-09-26  8:39 ` cvs-commit at gcc dot gnu dot org
@ 2005-09-26  8:43 ` cvs-commit at gcc dot gnu dot org
  2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
  10 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-26  8:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-26 08:43 -------
Subject: Bug 15855

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rguenth@gcc.gnu.org	2005-09-26 08:43:00

Modified files:
	gcc/cp         : ChangeLog decl2.c 

Log message:
	2005-09-26  Richard Guenther  <rguenther@suse.de>
	
	PR middle-end/15855
	* decl2.c (do_static_destruction): Remove.
	(finish_static_initialization_or_destruction): Likewise.
	(DECL_EFFECTIVE_INIT_PRIORITY): New macro.
	(NEEDS_GUARD_P): Likewise.
	(do_static_initialization): Rename to
	do_static_initialization_or_destruction.  Process all
	initializers/destructors and handle common conditionalizing.
	(start_static_initialization_or_destruction): Rename to
	one_static_initialization_or_destruction.  Handle only
	decl-specific conditionalizing.
	(cp_finish_file): Call do_static_initialization_or_destruction.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4901&r2=1.4902
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl2.c.diff?cvsroot=gcc&r1=1.802&r2=1.803



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (7 preceding siblings ...)
  2005-09-16  8:14 ` rguenth at gcc dot gnu dot org
@ 2005-09-26  8:39 ` cvs-commit at gcc dot gnu dot org
  2005-09-26  8:43 ` cvs-commit at gcc dot gnu dot org
  2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org
  10 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-09-26  8:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-09-26 08:38 -------
Subject: Bug 15855

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rguenth@gcc.gnu.org	2005-09-26 08:38:32

Modified files:
	gcc            : ChangeLog gcse.c 

Log message:
	2005-09-26  Richard Guenther  <rguenther@suse.de>
	
	PR middle-end/15855
	* gcse.c: Include hashtab.h, define ldst entry hashtable.
	(pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
	(ldst_entry): Use the hashtable instead of list-walking.
	(find_rtx_in_ldst): Likewise.
	(free_ldst_entry): Free the hashtable.
	(compute_ld_motion_mems): Create the hashtable.
	(trim_ld_motion_mems): Remove entry from hashtable if
	removing it from list.
	(compute_store_table): Likewise^2.
	(store_motion): Free hashtable in case we did not see
	any stores.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10020&r2=2.10021
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gcse.c.diff?cvsroot=gcc&r1=1.348&r2=1.349



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (6 preceding siblings ...)
  2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
@ 2005-09-16  8:14 ` rguenth at gcc dot gnu dot org
  2005-09-26  8:39 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-16  8:14 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-16 08:14 -------
For a cut-down testcase (the one attached takes too much memory for my box)
detailled mem-report shows

tree-dfa.c:175 (create_stmt_ann)                   12749568: 2.0%    2932228:
1.0%         52: 0.0%          0: 0.0%     301574
tree-inline.c:2403 (copy_tree_r)                   19285144: 3.0%          0:
0.0%          0: 0.0%     162184: 0.3%     537068
tree-ssanames.c:147 (make_ssa_name)               201319404:31.0%          0:
0.0%      12792: 0.0%          0: 0.0%    3871773
tree-phinodes.c:156 (allocate_phi_node)           250714968:38.6%          0:
0.0%          0: 0.0%      11480: 0.0%    1956706
Total                                             649892049        291182446   
     47860808         47260199         12874808
source location                                     Garbage            Freed   
         Leak         Overhead            Times

where the ssa_names / phi_nodes are all allocated by DOM.  From the time-report:

 tree SSA incremental  :  19.21 (11%) usr   2.02 (30%) sys  21.23 (12%) wall 
365332 kB (40%) ggc
 tree operand scan     :  22.06 (13%) usr   0.26 ( 4%) sys  22.47 (12%) wall  
58811 kB ( 6%) ggc
 dominator optimization:  19.14 (11%) usr   0.13 ( 2%) sys  19.37 (11%) wall 
111380 kB (12%) ggc

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (5 preceding siblings ...)
  2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
@ 2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
  2005-09-16  8:14 ` rguenth at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-15 22:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-15 22:05 -------
Now we have again (?? appeared not too long ago) DOM taking all time and memory
threading 10000 times repeating

  if (__priority == 65535)
    {
      if (__initialize_p == 0)
        {
          __comp_dtor  (&__ioinit);
        }
      else
        {
     
        }
    }
  else
    {

    }

in __static_initialization

Ugh.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (4 preceding siblings ...)
  2005-08-12 19:08 ` wilson at specifix dot com
@ 2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
  2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-12 10:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-12 10:52 -------
The second testcase works for me on current mainline if adding a class UltraRoot
forward declaration at the top.  It takes around 1m30 to compile and uses up
max. 522913kB of memory (1GB box, P4 2.8GHz) at -O2.  Still aliasing accounts for
the most time:

samples  %        image name               symbol name
694      26.6411  cc1plus                  add_stmt_operand
209       8.0230  cc1plus                  ldst_entry
193       7.4088  cc1plus                  create_ssa_artficial_load_stmt
181       6.9482  cc1plus                  compute_global_livein
57        2.1881  cc1plus                  bitmap_bit_p
50        1.9194  no-vmlinux               (no symbols)
45        1.7274  cc1plus                  compute_may_aliases
42        1.6123  cc1plus                  invalidate
36        1.3820  cc1plus                  bitmap_ior_and_compl_into
35        1.3436  cc1plus                  bitmap_set_bit
35        1.3436  cc1plus                  for_each_rtx_1
33        1.2668  cc1plus                  check_dependence
29        1.1132  cc1plus                  splay_tree_splay_helper
28        1.0749  cc1plus                  htab_find_slot_with_hash

The 2nd is from GCSE, 3rd from DOM, 4th from either into-ssa or ssa-loop-manip.
Time-report:

 tree SSA incremental  :  14.27 (17%) usr   0.11 ( 3%) sys  14.46 (16%) wall  
12827 kB ( 2%) ggc
 tree operand scan     :  15.62 (18%) usr   0.27 ( 8%) sys  15.93 (18%) wall  
59212 kB (10%) ggc
 dominator optimization:   8.67 (10%) usr   0.05 ( 1%) sys   8.64 (10%) wall 
110089 kB (19%) ggc

 PRE                   :   6.14 ( 7%) usr   0.01 ( 0%) sys   6.13 ( 7%) wall   
 536 kB ( 0%) ggc


ldst_entry is walking a list to find an element by hash-id.  Throw some
memory at it to add a real hashtable for lookup besides the list.

The DOM stuff looks like value numbering still in DOM, hopefully it will be
ripped out.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (3 preceding siblings ...)
  2005-08-12  6:21 ` phython at gcc dot gnu dot org
@ 2005-08-12 19:08 ` wilson at specifix dot com
  2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: wilson at specifix dot com @ 2005-08-12 19:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From wilson at specifix dot com  2005-08-12 19:07 -------
Subject: Re:  [3.4/4.0/4.1 Regression] g++ crash with
 -O2 and -O3 on input file

phython at gcc dot gnu dot org wrote:
> ------- Additional Comments From phython at gcc dot gnu dot org  2005-08-12 06:21 -------
>  On ia64-linux postreload-gcse does exactly nothing and takes 35% of the compile
> time at -O1 -fgcse-after-reload.  I didn't finish a build at -O2.

What testcase and compiler version are you using for this?  I tried 
taking a look, but wasn't able to reproduce any problem.  I was able to 
compile both testcases in the PR at -O2 in about 20 secs and about 200MB.

Both testcases in the PR have issues.  The first one generates lots of 
errors from the C++ front end, and doesn't actually end up doing much 
compiling.  The second one wants a non-existent expat.h file and is thus 
uncompilable without changes.  If I delete the include of the missing 
expat.h file, then again I get C++ front end errors and little compilation.

I tried various gcc versions, 4.0.x, mainline, 3.3.x, but I got the same 
result from all of them.

Maybe you have a copy of the missing expat.h file?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
                   ` (2 preceding siblings ...)
  2005-07-24  1:00 ` pinskia at gcc dot gnu dot org
@ 2005-08-12  6:21 ` phython at gcc dot gnu dot org
  2005-08-12 19:08 ` wilson at specifix dot com
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: phython at gcc dot gnu dot org @ 2005-08-12  6:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From phython at gcc dot gnu dot org  2005-08-12 06:21 -------
 On ia64-linux postreload-gcse does exactly nothing and takes 35% of the compile
time at -O1 -fgcse-after-reload.  I didn't finish a build at -O2.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
  2005-05-19 17:23 ` [Bug middle-end/15855] [3.4/4.0/4.1 Regression] " mmitchel at gcc dot gnu dot org
  2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
@ 2005-07-24  1:00 ` pinskia at gcc dot gnu dot org
  2005-08-12  6:21 ` phython at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-24  1:00 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-24 00:59 -------
at -O1 on the mainline on powerpc-darwin, we now take over 800M which seems very high.  I could not 
finish the build of this source as it was just taking too long.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
  2005-05-19 17:23 ` [Bug middle-end/15855] [3.4/4.0/4.1 Regression] " mmitchel at gcc dot gnu dot org
@ 2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
  2005-07-24  1:00 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-22 21:16 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-22 21:12 -------
Moving to 4.0.2 pre Mark.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.5                       |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file
  2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
@ 2005-05-19 17:23 ` mmitchel at gcc dot gnu dot org
  2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-05-19 17:23 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.4                       |3.4.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15855


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2005-10-18 15:33 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-15855-8424@http.gcc.gnu.org/bugzilla/>
2005-10-07 10:54 ` [Bug middle-end/15855] [3.4/4.0/4.1 Regression] g++ crash with -O2 and -O3 on input file cvs-commit at gcc dot gnu dot org
2005-10-07 11:17 ` rguenth at gcc dot gnu dot org
2005-10-17 16:34 ` dnovillo at gcc dot gnu dot org
2005-10-17 16:46 ` law at redhat dot com
2005-10-17 17:32 ` dnovillo at gcc dot gnu dot org
2005-10-17 20:30 ` mark at codesourcery dot com
2005-10-18 15:33 ` dnovillo at gcc dot gnu dot org
2004-06-06 19:10 [Bug c++/15855] New: " abegel at cs dot berkeley dot edu
2005-05-19 17:23 ` [Bug middle-end/15855] [3.4/4.0/4.1 Regression] " mmitchel at gcc dot gnu dot org
2005-07-22 21:16 ` pinskia at gcc dot gnu dot org
2005-07-24  1:00 ` pinskia at gcc dot gnu dot org
2005-08-12  6:21 ` phython at gcc dot gnu dot org
2005-08-12 19:08 ` wilson at specifix dot com
2005-09-12 10:53 ` rguenth at gcc dot gnu dot org
2005-09-15 22:06 ` rguenth at gcc dot gnu dot org
2005-09-16  8:14 ` rguenth at gcc dot gnu dot org
2005-09-26  8:39 ` cvs-commit at gcc dot gnu dot org
2005-09-26  8:43 ` cvs-commit at gcc dot gnu dot org
2005-09-27 15:59 ` mmitchel at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).