public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
       [not found] <bug-39300-4@http.gcc.gnu.org/bugzilla/>
@ 2012-07-13  8:51 ` rguenth at gcc dot gnu.org
  2012-07-19 11:42 ` rguenth at gcc dot gnu.org
  1 sibling, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-07-13  8:51 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |53947

--- Comment #9 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-13 08:50:39 UTC ---
Link to vectorizer missed-optimization meta-bug.


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
       [not found] <bug-39300-4@http.gcc.gnu.org/bugzilla/>
  2012-07-13  8:51 ` [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE rguenth at gcc dot gnu.org
@ 2012-07-19 11:42 ` rguenth at gcc dot gnu.org
  1 sibling, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-07-19 11:42 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.5.0

--- Comment #10 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-19 11:41:55 UTC ---
Fixed (predcom is now after the vectorizer, PRE avoids creating such
dependences now).  The enhancement is tracked by PR35229.


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2009-07-22 15:40 ` matz at gcc dot gnu dot org
@ 2009-08-17 17:39 ` jessiecute13 at aol dot com
  6 siblings, 0 replies; 9+ messages in thread
From: jessiecute13 at aol dot com @ 2009-08-17 17:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from jessiecute13 at aol dot com  2009-08-17 17:38 -------
$1.21


-- 


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


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2009-07-22 15:31 ` matz at gcc dot gnu dot org
@ 2009-07-22 15:40 ` matz at gcc dot gnu dot org
  2009-08-17 17:39 ` jessiecute13 at aol dot com
  6 siblings, 0 replies; 9+ messages in thread
From: matz at gcc dot gnu dot org @ 2009-07-22 15:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from matz at gcc dot gnu dot org  2009-07-22 15:40 -------
So, the immediate problem is now fixed, but I'd suggest leaving this
enhancement request open, in case anybody wants to work on extending the
vectorizer to deal with these loop-carried dependencies, because in that
case we wouldn't need to dumb down PRE anymore, which would be even better.


-- 


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


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2009-03-09 13:25 ` matz at gcc dot gnu dot org
@ 2009-07-22 15:31 ` matz at gcc dot gnu dot org
  2009-07-22 15:40 ` matz at gcc dot gnu dot org
  2009-08-17 17:39 ` jessiecute13 at aol dot com
  6 siblings, 0 replies; 9+ messages in thread
From: matz at gcc dot gnu dot org @ 2009-07-22 15:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from matz at gcc dot gnu dot org  2009-07-22 15:31 -------
Subject: Bug 39300

Author: matz
Date: Wed Jul 22 15:30:50 2009
New Revision: 149942

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149942
Log:
        PR tree-optimization/35229
        PR tree-optimization/39300

        * tree-ssa-pre.c (includes): Include tree-scalar-evolution.h.
        (inhibit_phi_insertion): New function.
        (insert_into_preds_of_block): Call it for REFERENCEs.
        (init_pre): Initialize and finalize scalar evolutions.
        * Makefile.in (tree-ssa-pre.o): Depend on tree-scalar-evolution.h .

testsuite/
        * gcc.dg/vect/vect-pre-interact.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-pre.c


-- 


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


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2009-03-08 14:26 ` dorit at gcc dot gnu dot org
@ 2009-03-09 13:25 ` matz at gcc dot gnu dot org
  2009-07-22 15:31 ` matz at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: matz at gcc dot gnu dot org @ 2009-03-09 13:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from matz at gcc dot gnu dot org  2009-03-09 13:25 -------
It's also PRE that produces such patterns, so moving predcom behind
vectorization alone won't help this problem.


-- 


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


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
  2009-02-25 14:07 ` [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE rguenth at gcc dot gnu dot org
  2009-02-25 14:08 ` irar at il dot ibm dot com
@ 2009-03-08 14:26 ` dorit at gcc dot gnu dot org
  2009-03-09 13:25 ` matz at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: dorit at gcc dot gnu dot org @ 2009-03-08 14:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from dorit at gcc dot gnu dot org  2009-03-08 14:25 -------
This is a known problem... Indeed when Zdenek introduced predictive-commoning
there was a discussion on whether to schedule it before or after vectorization.
AFAIR, it ended up getting scheduled before the vectorizer just because this
happened to be what Zdenek tested/experimented with, and he didn't have a
problem with scheduling it after vectorization as long as it didn't hurt
performance (of mgrid in particular). Here are related threads:
http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01383.html
http://gcc.gnu.org/ml/gcc-patches/2007-02/msg00555.html
http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00571.html

Regardless of whether we scheudule predcom after vectorization, it will still
be useful to teach the vectorizer to handle such dependence patterns, as they
may (and do) appear in the source code.  


-- 


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


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
  2009-02-25 14:07 ` [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE rguenth at gcc dot gnu dot org
@ 2009-02-25 14:08 ` irar at il dot ibm dot com
  2009-03-08 14:26 ` dorit at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: irar at il dot ibm dot com @ 2009-02-25 14:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from irar at il dot ibm dot com  2009-02-25 14:08 -------
Looks similar to PR 35229.

We get here:
# pre.1 = PHI <D.1, D.2>
..
load D.2 
D.3 = D.2 + pre.1 + ...
store D.3


-- 

irar at il dot ibm dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |irar at il dot ibm dot com


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


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

* [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE
  2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
@ 2009-02-25 14:07 ` rguenth at gcc dot gnu dot org
  2009-02-25 14:08 ` irar at il dot ibm dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-02-25 14:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2009-02-25 14:07 -------
Simpler C testcase:

float res[1024], data[1024];

void foo(void)
{
  int i;
  float tmp = data[0];
  for (i = 1; i < 1024; ++i)
    {
      float tmp2 = data[i];
      res[i] = tmp + tmp2;
      tmp = tmp2;
    }
}


-- 


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


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

end of thread, other threads:[~2012-07-19 11:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-39300-4@http.gcc.gnu.org/bugzilla/>
2012-07-13  8:51 ` [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE rguenth at gcc dot gnu.org
2012-07-19 11:42 ` rguenth at gcc dot gnu.org
2009-02-25 12:16 [Bug tree-optimization/39300] New: vectorizer confused by predictive commoning matz at gcc dot gnu dot org
2009-02-25 14:07 ` [Bug tree-optimization/39300] vectorizer confused by predictive commoning and PRE rguenth at gcc dot gnu dot org
2009-02-25 14:08 ` irar at il dot ibm dot com
2009-03-08 14:26 ` dorit at gcc dot gnu dot org
2009-03-09 13:25 ` matz at gcc dot gnu dot org
2009-07-22 15:31 ` matz at gcc dot gnu dot org
2009-07-22 15:40 ` matz at gcc dot gnu dot org
2009-08-17 17:39 ` jessiecute13 at aol dot com

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).