[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-31 Thread spop at gcc dot gnu dot org
--- Comment #16 from spop at gcc dot gnu dot org 2010-03-31 18:48 --- Fixed. -- spop at gcc dot gnu dot org changed: What|Removed |Added Status|NEW

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-31 Thread spop at gcc dot gnu dot org
--- Comment #15 from spop at gcc dot gnu dot org 2010-03-31 18:38 --- Subject: Bug 43464 Author: spop Date: Wed Mar 31 18:37:41 2010 New Revision: 157889 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157889 Log: Fix PR43464: copyprop should maintain loop close phi nodes with mu

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-30 Thread spop at gcc dot gnu dot org
--- Comment #14 from spop at gcc dot gnu dot org 2010-03-30 16:57 --- Subject: Bug 43464 Author: spop Date: Tue Mar 30 16:56:49 2010 New Revision: 157828 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157828 Log: Fix PR43464: copyprop should maintain loop close phi nodes with mu

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-22 Thread spop at gcc dot gnu dot org
--- Comment #13 from spop at gcc dot gnu dot org 2010-03-22 15:47 --- Note that * tree-ssa-copy.c (init_copy_prop): Loop closed phi nodes can contain more than one argument. breaks both 464.h264ref and 416.gamess with -O3. See for example http://groups.google.com/group

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #12 from spop at gcc dot gnu dot org 2010-03-22 01:29 --- Subject: Bug 43464 Author: spop Date: Mon Mar 22 01:28:51 2010 New Revision: 157617 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157617 Log: Fix PR43464: loop close phi nodes can contain more than one argume

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #11 from spop at gcc dot gnu dot org 2010-03-22 00:26 --- I would still like to see some extra checking after copyprop: would this extra check be ok to commit with the fix? diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c index 61e32cc..011a80a 100644 --- a/gcc/tree-ss

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #10 from spop at gcc dot gnu dot org 2010-03-22 00:17 --- Yes, this patch does fix the problem. diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c index 57c6558..61e32cc 100644 --- a/gcc/tree-ssa-copy.c +++ b/gcc/tree-ssa-copy.c @@ -797,7 +797,6 @@ init_copy_prop (void)

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2010-03-21 23:07 --- (In reply to comment #8) > (In reply to comment #7) > > The problem is that copyprop does this change: > > > > @@ -25,7 +25,7 @@ > >: > > # .MEM_16 = PHI <.MEM_18(10), .MEM_20(11)> > > # s_66 = PHI >

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2010-03-21 23:05 --- (In reply to comment #7) > The problem is that copyprop does this change: > > @@ -25,7 +25,7 @@ >: > # .MEM_16 = PHI <.MEM_18(10), .MEM_20(11)> > # s_66 = PHI > -s_13 = s_66; > +s_13 = s_1; >

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #7 from spop at gcc dot gnu dot org 2010-03-21 17:17 --- The problem is that copyprop does this change: @@ -25,7 +25,7 @@ : # .MEM_16 = PHI <.MEM_18(10), .MEM_20(11)> # s_66 = PHI -s_13 = s_66; +s_13 = s_1; goto (got_it); } then verify_loop_c

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #6 from spop at gcc dot gnu dot org 2010-03-21 17:01 --- Further reduced testcase: typedef struct regnode { char flags; } regnode; extern const unsigned char A[]; char *foo (regnode *c, char *s, int norun) { int uskip; while (s + (uskip = A[*s])) { if ((c->f

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread sebpop at gmail dot com
--- Comment #5 from sebpop at gmail dot com 2010-03-21 16:08 --- Subject: Re: copy prop breaks loop closed SSA form On Sun, Mar 21, 2010 at 04:54, steven at gcc dot gnu dot org wrote: > Why such a big hammer? 'cause I don't want to add more bugs, and no I don't think compile time mat

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread steven at gcc dot gnu dot org
--- Comment #4 from steven at gcc dot gnu dot org 2010-03-21 09:54 --- Why such a big hammer? You should be able to figure out which copy props are allowed and which should be disallowed in loop-closed SSA form. Is "if (current_loops)" the right test here? This will break if Zdenek's pa

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #3 from spop at gcc dot gnu dot org 2010-03-21 07:32 --- Subject: Bug 43464 Author: spop Date: Sun Mar 21 07:32:43 2010 New Revision: 157602 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157602 Log: Fix PR43464: update loop close SSA once copy prop is done. 2010-03

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #2 from spop at gcc dot gnu dot org 2010-03-21 07:06 --- Created an attachment (id=20149) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20149&action=view) proposed fix The proposed fix is to recompute the loop closed SSA form after copy propagation. -- http://gcc.

[Bug middle-end/43464] copy prop breaks loop closed SSA form

2010-03-21 Thread spop at gcc dot gnu dot org
--- Comment #1 from spop at gcc dot gnu dot org 2010-03-21 07:01 --- Created an attachment (id=20148) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20148&action=view) pr43464.i -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43464