[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2010-01-19 Thread matz at gcc dot gnu dot org
--- Comment #16 from matz at gcc dot gnu dot org 2010-01-19 16:06 --- Subject: Bug 41783 Author: matz Date: Tue Jan 19 16:05:57 2010 New Revision: 156043 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156043 Log: PR tree-optimization/41783 * tree-data-ref.c (topl

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-30 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2009-10-30 16:39 --- In fact we now vectorize additional loops because of less prephitemps but that gets in the way of predictive-commoning which is much more useful here :( -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-30 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2009-10-30 16:14 --- I think this fix caused 172.mgrid to regress (we likely no longer perform predictive commoning there). See http://gcc.opensuse.org/SPEC/CFP/sb-vangelis-head-64/recent.html -- http://gcc.gnu.org/bugzilla/show_

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-26 Thread matz at gcc dot gnu dot org
--- Comment #13 from matz at gcc dot gnu dot org 2009-10-26 13:04 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-26 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2009-10-26 13:00 --- Subject: Bug 41783 Author: matz Date: Mon Oct 26 13:00:36 2009 New Revision: 153551 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153551 Log: PR tree-optimization/41783 * tree-ssa-alias.c (get

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-22 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2009-10-22 15:13 --- Have patch. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigne

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #10 from rguenth at gcc dot gnu dot org 2009-10-21 20:14 --- Created an attachment (id=18861) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18861&action=view) 1st part of a patch Like this. We should never produce new non-constant value-numbers during phi-translation

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2009-10-21 18:08 --- Ok, I'm pretty much sure what happens and what is wrong. I'll fix what is wrong and we'll need that phi-translation fix to fixup the regressions that'll cause. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=417

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2009-10-21 15:35 --- But the important one (for zeusmp) is the first loop. That isn't vectorized anymore (but was in r151560, i.e. there it vectorized two loops). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2009-10-21 15:26 --- LIM cleans up the 2nd insertion for me and moves the load next to the first insertion. What remains is the full redundancy and elimination of all the PHIs, so yes, your PRE patch would solve this. And yes, it is on

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-10-21 15:22 --- Hmm, at least I don't remember any patch dealing with phi translation right now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2009-10-21 15:20 --- Yes, I mean the second insertion. The phi node generated for that one (in the first j-loop) prevents vectorization in r151561 (I haven't really tested newer revs that r151590). Maybe some other stuff in later revs cle

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-10-21 15:16 --- Which all is likely due to the fact that PHI translation does not properly value-number translated loads and thus we create extra full redundancies sometimes (usually resulting in extra PHI nodes, but here extra load

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-10-21 15:14 --- C testcase showing the likely underlying issue: int db[100]; int dt, fact; int main() { int i; do { for (i=0; i<100; ++i) db[i] = i; fact = dt * i; } while (1); } where we not only

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-10-21 15:07 --- Btw, the 2nd insertion is really weird (the first one in bb9 is just loop invariant motion). : pretmp.7_45 = rootr.dt; goto ; : : # prephitmp.8_48 = PHI D.1375_18 = (real(kind=8)) i_3; D.1376_19 = prep

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread rguenth at gcc dot gnu dot org
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-10-21 14:53 --- Confirmed. Btw the loop is still vectorized for me. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added