[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2012-07-02 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906 Richard Guenther changed: What|Removed |Added Status|NEW |RESOLVED Resolution|

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2012-03-23 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906 Jan Hubicka changed: What|Removed |Added Status|ASSIGNED|NEW Known to work|

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2011-04-28 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906 Richard Guenther changed: What|Removed |Added Target Milestone|4.5.3 |4.5.4 --- Comment #32 from Richard Gue

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-12-16 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906 Richard Guenther changed: What|Removed |Added Target Milestone|4.5.2 |4.5.3 --- Comment #31 from Richard Gue

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-07-31 Thread rguenth at gcc dot gnu dot org
--- Comment #30 from rguenth at gcc dot gnu dot org 2010-07-31 09:29 --- GCC 4.5.1 is being released, adjusting target milestone. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added --

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-04-06 Thread hubicka at gcc dot gnu dot org
--- Comment #29 from hubicka at gcc dot gnu dot org 2010-04-06 15:18 --- Subject: Bug 42906 Author: hubicka Date: Tue Apr 6 15:18:18 2010 New Revision: 158004 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158004 Log: PR tree-optimization/42906 * tree-ssa-dce.

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-04-06 Thread hubicka at ucw dot cz
--- Comment #28 from hubicka at ucw dot cz 2010-04-06 11:37 --- Subject: Re: [4.5 Regression] Empty loop not removed I will apply the CD-DCE fix to pretty IPA tomorrow (after testing the inliner problems) so we get some extra testing for that patch too. -- http://gcc.gnu.o

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-04-06 Thread rguenth at gcc dot gnu dot org
--- Comment #27 from rguenth at gcc dot gnu dot org 2010-04-06 11:20 --- GCC 4.5.0 is being released. Deferring to 4.5.1. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added -

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-27 Thread hubicka at gcc dot gnu dot org
--- Comment #26 from hubicka at gcc dot gnu dot org 2010-03-27 18:31 --- Patch queued for next stage1 -- hubicka at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-25 Thread hubicka at ucw dot cz
--- Comment #24 from hubicka at ucw dot cz 2010-03-25 17:22 --- Subject: Re: [4.5 Regression] Empty loop not removed Hi, this is updated version of patch that bootstraps/regtests. In previous one there was bug that BB was marked when processed even when only edge was processed

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-24 Thread hubicka at gcc dot gnu dot org
--- Comment #23 from hubicka at gcc dot gnu dot org 2010-03-24 19:02 --- Created an attachment (id=20188) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20188&action=view) Patch in testing Hi, this is patch I am testing. I was also re-thinking the problem of redirecting BB with d

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-24 Thread hubicka at gcc dot gnu dot org
--- Comment #22 from hubicka at gcc dot gnu dot org 2010-03-24 18:17 --- Hi, I am teaching CD-DCE today so I took oppurtunity to figure out what happens. 1) The original formulation by Cytron et. al. has mistake in it. It claims that after removal of dead conditional one can take any

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-18 Thread rguenther at suse dot de
--- Comment #21 from rguenther at suse dot de 2010-03-18 17:30 --- Subject: Re: [4.5 Regression] Empty loop not removed On Thu, 18 Mar 2010, changpeng dot fang at amd dot com wrote: > --- Comment #20 from changpeng dot fang at amd dot com 2010-03-18 17:24 > --- > (In reply

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-18 Thread changpeng dot fang at amd dot com
--- Comment #20 from changpeng dot fang at amd dot com 2010-03-18 17:24 --- (In reply to comment #19) > Splitting critical edges for CDDCE will probably also solve this problem. > > Richard. > Yes, splitting critical edges is an enhancement to CDDCE and can solve this problem. There

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-17 Thread rguenther at suse dot de
--- Comment #19 from rguenther at suse dot de 2010-03-17 10:01 --- Subject: Re: [4.5 Regression] Empty loop not removed On Wed, 17 Mar 2010, changpeng dot fang at amd dot com wrote: > > > --- Comment #17 from changpeng dot fang at amd dot com 2010-03-17 00:18 > --- > (In

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-16 Thread changpeng dot fang at amd dot com
--- Comment #18 from changpeng dot fang at amd dot com 2010-03-17 00:22 --- (In reply to comment #16) > > In this case, the loop itself is "empty" and we can replace every use of the > > phi with "n" (exit value of the iv). > > I don't think that is done by remove_empty_loop anyways an

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-03-16 Thread changpeng dot fang at amd dot com
--- Comment #17 from changpeng dot fang at amd dot com 2010-03-17 00:18 --- (In reply to comment #8) > And > > int foo (int b, int j) > { > if (b) > { > int i; > for (i = 0; i<1000; ++i) > ; > j = b; > } > return j; > } > With "j=b", "b" is not f

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-02-16 Thread pinskia at gcc dot gnu dot org
--- Comment #16 from pinskia at gcc dot gnu dot org 2010-02-16 19:57 --- > In this case, the loop itself is "empty" and we can replace every use of the > phi with "n" (exit value of the iv). I don't think that is done by remove_empty_loop anyways and it is already done by sccp (Propaga

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-02-16 Thread changpeng dot fang at amd dot com
--- Comment #15 from changpeng dot fang at amd dot com 2010-02-16 19:54 --- Hello, I am not sure whether CD-DCE can fully replace remove_empty_loop. However, I would prefer to keep remove_empty_loop pass. There are two reasons for this proposal: (1) remove_empty_loop was at level -O1 an

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-02-02 Thread rguenth at gcc dot gnu dot org
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #14 from steven at gcc dot gnu dot org 2010-01-30 23:15 --- Yes, it fails with all "do ... while(...)" loops, I think. We'll have to think of something else, then. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #13 from rguenth at gcc dot gnu dot org 2010-01-30 23:04 --- FAIL: gcc.c-torture/execute/991016-1.c execution, -O2 FAIL: gcc.c-torture/execute/loop-3.c execution, -O2 FAIL: gcc.c-torture/execute/loop-3b.c execution, -O2 FAIL: gcc.dg/doloop-2.c execution test and other

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #12 from rguenth at gcc dot gnu dot org 2010-01-30 21:11 --- We seem to miscompile gen*.c. I'll check out the testsuite. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #11 from rguenth at gcc dot gnu dot org 2010-01-30 20:56 --- I'll test it (but I wonder if find_control_dependence is to be corrected instead). -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #10 from steven at gcc dot gnu dot org 2010-01-30 20:32 --- The safe thing to do, may be to ignore self control dependence, like so: - 8< -- Index: tree-ssa-dce.c =

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #9 from steven at gcc dot gnu dot org 2010-01-30 17:30 --- The loop is also properly eliminated if I split the (critical) edge from bb6 to bb5 the edge that brings in the constant "0" to the "j_1 = PHI ". -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2010-01-30 16:58 --- And int foo (int b, int j) { if (b) { int i; for (i = 0; i<1000; ++i) ; j = b; } return j; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2010-01-30 16:58 --- Indeed it works for void bar (void); int foo (int b, int j) { if (b) { int i; for (i = 0; i<1000; ++i) ; bar (); j = 0; } return j; } -- http://gcc.gnu.org/bugzilla/s

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-01-30 16:54 --- (In reply to comment #4) > Eh, ignore comment #3. My understanding of CD-DCE really *is* rusty :-). > > Being more careful now: IIRC the statement "j = 0" would have been control > dependent on "if (b)" and marking

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2010-01-30 16:52 --- (In reply to comment #3) > Hack that may be worth trying: > Index: tree-ssa-dce.c > === > --- tree-ssa-dce.c (revision 156352) > +++ tree-ssa-dce.c

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #4 from steven at gcc dot gnu dot org 2010-01-30 16:51 --- Eh, ignore comment #3. My understanding of CD-DCE really *is* rusty :-). Being more careful now: IIRC the statement "j = 0" would have been control dependent on "if (b)" and marking "j = 0" would result in marking "i

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #3 from steven at gcc dot gnu dot org 2010-01-30 16:45 --- Hack that may be worth trying: Index: tree-ssa-dce.c === --- tree-ssa-dce.c (revision 156352) +++ tree-ssa-dce.c (working copy) @@ -683,7 +683,

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #2 from steven at gcc dot gnu dot org 2010-01-30 16:42 --- Even more fun: mark_control_dependent_edges_necessary is called on basic block 6 because a PHI argument is fed to "j_1 = PHI " i.e. a constant coming from basic block 6: #1 0x00a16627 in propagate_necessity

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread steven at gcc dot gnu dot org
--- Comment #1 from steven at gcc dot gnu dot org 2010-01-30 16:37 --- The loop is deemed necessary because the loop block (bb 6) is control dependent on itself (?!): (gdb) mark_control_dependent_edges_necessary (bb=0x77f264e0, el=0x142c5d0) at ../../trunk/gcc/tree-ssa-dce.c:388 38

[Bug tree-optimization/42906] [4.5 Regression] Empty loop not removed

2010-01-30 Thread rguenth at gcc dot gnu dot org
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||hubicka at gcc dot gnu dot |