* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
@ 2005-05-03 16:00 ` pinskia at gcc dot gnu dot org
2005-07-06 13:23 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-03 16:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-03 16:00 -------
Confirmed, a regression from 4.0.0.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|middle-end |tree-optimization
Ever Confirmed| |1
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2005-05-03 16:00:08
date| |
Summary|Dominance error after |[4.1 Regression] Dominance
|aggressive dead code |error after aggressive dead
|elimination (cd_dce) |code elimination (cd_dce)
Target Milestone|--- |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
2005-05-03 16:00 ` [Bug tree-optimization/21356] [4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-07-06 13:23 ` pinskia at gcc dot gnu dot org
2005-07-06 14:06 ` dberlin at dberlin dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-06 13:23 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-06 13:23 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
2005-05-03 16:00 ` [Bug tree-optimization/21356] [4.1 Regression] " pinskia at gcc dot gnu dot org
2005-07-06 13:23 ` pinskia at gcc dot gnu dot org
@ 2005-07-06 14:06 ` dberlin at dberlin dot org
2005-07-07 6:57 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: dberlin at dberlin dot org @ 2005-07-06 14:06 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dberlin at gcc dot gnu dot org 2005-07-06 14:05 -------
Subject: Re: [4.1 Regression] Dominance error
after aggressive dead code elimination (cd_dce)
On Tue, 2005-07-05 at 23:29 -0600, Jeffrey A Law wrote:
> DCE in aggressive mode sometimes is able to remove control structures
> and thus edge from the CFG. Sometimes removal of edges from the CFG
> changes the dominator tree, but we make no attempt to actually keep
> the dominators up-to-date.
>
> In this testcase failure to keep the dominators up-to-date leads to
> a checking failure. This is trivially addressed by arranging for the
> dominators to be recomputed if we remove edges from the CFG. An
> enterprising individual might be able to incrementally update the
> dominators,
Uh, we have code to incrementally update the dominators.
Just use iterate_fix_dominators
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
` (2 preceding siblings ...)
2005-07-06 14:06 ` dberlin at dberlin dot org
@ 2005-07-07 6:57 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
2005-07-08 20:53 ` dnovillo at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rakdver at atrey dot karlin dot mff dot cuni dot cz @ 2005-07-07 6:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni dot cz 2005-07-07 06:57 -------
Subject: Re: [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
Hello,
> On Tue, 2005-07-05 at 23:29 -0600, Jeffrey A Law wrote:
> > DCE in aggressive mode sometimes is able to remove control structures
> > and thus edge from the CFG. Sometimes removal of edges from the CFG
> > changes the dominator tree, but we make no attempt to actually keep
> > the dominators up-to-date.
> >
> > In this testcase failure to keep the dominators up-to-date leads to
> > a checking failure. This is trivially addressed by arranging for the
> > dominators to be recomputed if we remove edges from the CFG. An
> > enterprising individual might be able to incrementally update the
> > dominators,
>
> Uh, we have code to incrementally update the dominators.
> Just use iterate_fix_dominators
note however that to use it you must precisely know the set of basic
blocks whose dominators may change (which may or may not be the case
with CDDCE, I haven't thought about it), and the set should rather be
small -- iterate_fix_dominators is O(n^3) in the size of the set.
All in all, if the changes to cfg are indeed rare (which they should be,
given that the problem remained unnoticed so far), just having the
dominators to be recomputed is much easier and safer.
Zdenek
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
` (3 preceding siblings ...)
2005-07-07 6:57 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
@ 2005-07-08 20:53 ` dnovillo at gcc dot gnu dot org
2005-07-08 21:01 ` dnovillo at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-07-08 20:53 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at gcc dot gnu dot org 2005-07-08 20:53 -------
The patch for this PR causes bootstrap failures after enabling the new points-to
solver. I will try to find another solution for this problem.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
` (4 preceding siblings ...)
2005-07-08 20:53 ` dnovillo at gcc dot gnu dot org
@ 2005-07-08 21:01 ` dnovillo at gcc dot gnu dot org
2005-07-09 17:35 ` cvs-commit at gcc dot gnu dot org
2005-07-09 17:38 ` dnovillo at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-07-08 21:01 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dnovillo at gcc dot gnu dot
|dot org |org
Status|REOPENED |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
` (5 preceding siblings ...)
2005-07-08 21:01 ` dnovillo at gcc dot gnu dot org
@ 2005-07-09 17:35 ` cvs-commit at gcc dot gnu dot org
2005-07-09 17:38 ` dnovillo at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-07-09 17:35 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-07-09 17:35 -------
Subject: Bug 21356
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: dnovillo@gcc.gnu.org 2005-07-09 17:35:05
Modified files:
gcc : ChangeLog passes.c
Log message:
PR 21356
PR 22332
* passes.c (execute_todo): Cleanup the CFG before updating
SSA.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9394&r2=2.9395
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/passes.c.diff?cvsroot=gcc&r1=2.98&r2=2.99
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/21356] [4.1 Regression] Dominance error after aggressive dead code elimination (cd_dce)
2005-05-03 11:40 [Bug middle-end/21356] New: Dominance error after aggressive dead code elimination (cd_dce) loki at gcc dot gnu dot org
` (6 preceding siblings ...)
2005-07-09 17:35 ` cvs-commit at gcc dot gnu dot org
@ 2005-07-09 17:38 ` dnovillo at gcc dot gnu dot org
7 siblings, 0 replies; 9+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-07-09 17:38 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at gcc dot gnu dot org 2005-07-09 17:38 -------
Fixed. http://gcc.gnu.org/ml/gcc-patches/2005-07/msg00651.html.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21356
^ permalink raw reply [flat|nested] 9+ messages in thread