* [Bug c/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
@ 2007-09-13 21:13 ` rguenth at gcc dot gnu dot org
2007-09-13 21:14 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-09-13 21:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2007-09-13 21:12 -------
Confirmed. Zdenek, we should now be able to attach this to loop information
and preserve it until data dependence analysis, right?
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org, rakdver at gcc dot gnu
| |dot org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-09-13 21:12:49
date| |
Summary|Support of #pragma ivdep |Support of #pragma ivdep
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
2007-09-13 21:13 ` [Bug c/33426] " rguenth at gcc dot gnu dot org
@ 2007-09-13 21:14 ` pinskia at gcc dot gnu dot org
2007-09-13 21:21 ` rguenth at gcc dot gnu dot org
` (6 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-09-13 21:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2007-09-13 21:14 -------
What are the exact semantics of ivdep?
Please provide them before asking if we support it.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
2007-09-13 21:13 ` [Bug c/33426] " rguenth at gcc dot gnu dot org
2007-09-13 21:14 ` pinskia at gcc dot gnu dot org
@ 2007-09-13 21:21 ` rguenth at gcc dot gnu dot org
2007-09-13 21:23 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-09-13 21:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2007-09-13 21:21 -------
#pragma ivdep
Says the compiler may assume the following loop nest does not have loop carried
data dependenices.
Supported at least by SGI CC and the Intel compiler.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
Last reconfirmed|2007-09-13 21:12:49 |2007-09-13 21:21:05
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
` (2 preceding siblings ...)
2007-09-13 21:21 ` rguenth at gcc dot gnu dot org
@ 2007-09-13 21:23 ` pinskia at gcc dot gnu dot org
2007-09-13 21:25 ` rguenth at gcc dot gnu dot org
` (4 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-09-13 21:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pinskia at gcc dot gnu dot org 2007-09-13 21:23 -------
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/0650/bks/SGI_Developer/books/Pragmas/sgi_html/ch08.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
` (3 preceding siblings ...)
2007-09-13 21:23 ` pinskia at gcc dot gnu dot org
@ 2007-09-13 21:25 ` rguenth at gcc dot gnu dot org
2007-09-13 21:26 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-09-13 21:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from rguenth at gcc dot gnu dot org 2007-09-13 21:25 -------
The SGI compiler restricts the pragma to innermost loops. The Intel compiler
restricts the pragma to affect assumed data-dependencies only, that is, if
data dependence analysis statically can prove a data-dependency this
dependency is _not_ ignored.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|other |c
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
` (4 preceding siblings ...)
2007-09-13 21:25 ` rguenth at gcc dot gnu dot org
@ 2007-09-13 21:26 ` rguenth at gcc dot gnu dot org
2007-09-13 21:27 ` [Bug other/33426] " pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-09-13 21:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2007-09-13 21:26 -------
http://www.intel.com/cd/ids/developer/asmo-na/eng/65774.htm?page=4
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
` (5 preceding siblings ...)
2007-09-13 21:26 ` rguenth at gcc dot gnu dot org
@ 2007-09-13 21:27 ` pinskia at gcc dot gnu dot org
2007-09-13 22:21 ` gjunk at sapience dot com
2007-09-19 21:34 ` gjunk at sapience dot com
8 siblings, 0 replies; 19+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-09-13 21:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from pinskia at gcc dot gnu dot org 2007-09-13 21:27 -------
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00166.html
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|c |other
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
` (6 preceding siblings ...)
2007-09-13 21:27 ` [Bug other/33426] " pinskia at gcc dot gnu dot org
@ 2007-09-13 22:21 ` gjunk at sapience dot com
2007-09-19 21:34 ` gjunk at sapience dot com
8 siblings, 0 replies; 19+ messages in thread
From: gjunk at sapience dot com @ 2007-09-13 22:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from gjunk at sapience dot com 2007-09-13 22:21 -------
*** Bug 33427 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
2007-09-13 21:03 [Bug c/33426] New: Support of #pragma ivdep gjunk at sapience dot com
` (7 preceding siblings ...)
2007-09-13 22:21 ` gjunk at sapience dot com
@ 2007-09-19 21:34 ` gjunk at sapience dot com
8 siblings, 0 replies; 19+ messages in thread
From: gjunk at sapience dot com @ 2007-09-19 21:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from gjunk at sapience dot com 2007-09-19 21:34 -------
Thanks for feedback - not exactly sure where this leaves things - but if gcc
can deliver the same kind of floating point performance as icc it would be a
really good thing.
The 2005 article - wasn't clear to me what that meant other than this was
considered some time back - I assume this is a 2 step process.
(1) making the info available (perhaps that is already done - is that what
that means?)
(2) consuming the info so the optimization engine can do a better job -
which I suspect is work still remaining.
Thank you for all your help.
g/
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
@ 2010-11-02 20:16 ` gjunk at sapience dot com
2011-05-07 12:29 ` gjunk at sapience dot com
` (7 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: gjunk at sapience dot com @ 2010-11-02 20:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
--- Comment #10 from gene <gjunk at sapience dot com> 2010-11-02 20:16:32 UTC ---
I wonder if this thread is germaine or useful to this enhancement request ?
http://gcc.gnu.org/ml/gcc/2009-10/msg00352.html
g/
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
2010-11-02 20:16 ` gjunk at sapience dot com
@ 2011-05-07 12:29 ` gjunk at sapience dot com
2011-07-17 7:56 ` vincenzo.innocente at cern dot ch
` (6 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: gjunk at sapience dot com @ 2011-05-07 12:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
--- Comment #11 from gene <gjunk at sapience dot com> 2011-05-07 12:15:22 UTC ---
Any update on this ?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
2010-11-02 20:16 ` gjunk at sapience dot com
2011-05-07 12:29 ` gjunk at sapience dot com
@ 2011-07-17 7:56 ` vincenzo.innocente at cern dot ch
2013-10-24 16:25 ` burnus at gcc dot gnu.org
` (5 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: vincenzo.innocente at cern dot ch @ 2011-07-17 7:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
vincenzo Innocente <vincenzo.innocente at cern dot ch> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vincenzo.innocente at cern
| |dot ch
--- Comment #12 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2011-07-17 05:39:12 UTC ---
any news on this?
I reached
" disable versioning for alias - max number of generated checks exceeded."
because of PR49761 and really need to tell GCC to vectorize ignoring possibly
dependencies
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2011-07-17 7:56 ` vincenzo.innocente at cern dot ch
@ 2013-10-24 16:25 ` burnus at gcc dot gnu.org
2013-10-24 16:43 ` burnus at gcc dot gnu.org
` (4 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-10-24 16:25 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
--- Comment #13 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Thu Oct 24 16:25:44 2013
New Revision: 204021
URL: http://gcc.gnu.org/viewcvs?rev=204021&root=gcc&view=rev
Log:
2013-08-24 Tobias Burnus <burnus@net-b.de>
PR other/33426
* c-pragma.c (init_pragma) Add #pragma ivdep handling.
* c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
PR other/33426
* c-parser.c (c_parser_pragma, c_parser_for_statement):
Handle PRAGMA_IVDEP.
(c_parser_statement_after_labels): Update call.
PR other/33426
* tree-cfg.c (replace_loop_annotate): New function.
(execute_build_cfg): Call it.
* gimplify.c (gimple_boolify, gimplify_expr): Handle
* ANNOTATE_EXPR.
* internal-fn.c (expand_ANNOTATE): New function.
* internal-fn.def (ANNOTATE): Define as new internal function.
* tree-core.h (tree_node_kind): Add annot_expr_ivdep_kind.
* tree-pretty-print.c (dump_generic_node): Handle ANNOTATE_EXPR.
* tree.def (ANNOTATE_EXPR): New DEFTREECODE.
* doc/extend.texi (Pragmas): Document #pragma ivdep.
* doc/generic.texi (Expressions): Document ANNOTATE_EXPR.
PR other/33426
* testsuite/gcc.dg/ivdep.c: New.
* testsuite/gcc.dg/vect/vect-ivdep-1.c: New.
Added:
trunk/gcc/testsuite/gcc.dg/ivdep.c
trunk/gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-pragma.c
trunk/gcc/c-family/c-pragma.h
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/doc/extend.texi
trunk/gcc/doc/generic.texi
trunk/gcc/gimplify.c
trunk/gcc/internal-fn.c
trunk/gcc/internal-fn.def
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c
trunk/gcc/tree-core.h
trunk/gcc/tree-pretty-print.c
trunk/gcc/tree.def
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2013-10-24 16:25 ` burnus at gcc dot gnu.org
@ 2013-10-24 16:43 ` burnus at gcc dot gnu.org
2013-10-25 5:47 ` burnus at gcc dot gnu.org
` (3 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-10-24 16:43 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #14 from Tobias Burnus <burnus at gcc dot gnu.org> ---
With the comment of comment 13, C now supports:
#pragma GCC ivdep
as described at http://gcc.gnu.org/onlinedocs/gcc/Pragmas.html (link at the
bottom, [when the doc is updated in a couple of hours]).
Note: The C++ patch is still pending review; for Fortran, see also PR44646
comment 5.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2013-10-24 16:43 ` burnus at gcc dot gnu.org
@ 2013-10-25 5:47 ` burnus at gcc dot gnu.org
2013-10-25 5:50 ` burnus at gcc dot gnu.org
` (2 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-10-25 5:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
--- Comment #15 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Fri Oct 25 05:47:25 2013
New Revision: 204047
URL: http://gcc.gnu.org/viewcvs?rev=204047&root=gcc&view=rev
Log:
2013-10-25 Tobias Burnus <burnus@net-b.de>
PR other/33426
* parser.c (cp_parser_iteration_statement,
cp_parser_for, cp_parser_c_for, cp_parser_pragma): Handle
IVDEP pragma.
* g++.dg/parse/ivdep.C: New.
* g++.dg/vect/pr33426-ivdep.cc: New.
Added:
trunk/gcc/testsuite/g++.dg/parse/ivdep.C
trunk/gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2013-10-25 5:47 ` burnus at gcc dot gnu.org
@ 2013-10-25 5:50 ` burnus at gcc dot gnu.org
2013-10-27 7:40 ` burnus at gcc dot gnu.org
2013-10-30 18:53 ` burnus at gcc dot gnu.org
8 siblings, 0 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-10-25 5:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #16 from Tobias Burnus <burnus at gcc dot gnu.org> ---
FIXED on the trunk (4.9).
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2013-10-25 5:50 ` burnus at gcc dot gnu.org
@ 2013-10-27 7:40 ` burnus at gcc dot gnu.org
2013-10-30 18:53 ` burnus at gcc dot gnu.org
8 siblings, 0 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-10-27 7:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
--- Comment #17 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Sun Oct 27 07:40:31 2013
New Revision: 204102
URL: http://gcc.gnu.org/viewcvs?rev=204102&root=gcc&view=rev
Log:
2013-10-27 Tobias Burnus <burnus@net-b.de>
gcc/c/
PR other/33426
* c-parser.c (c_parser_while_statement,
* c_parser_while_statement,
c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
(c_parser_statement_after_labels): Update calls.
gcc/testsuite/
PR other/33426
* gcc.dg/vect/vect-ivdep-2.c: New.
Added:
trunk/gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug other/33426] Support of #pragma ivdep
[not found] <bug-33426-4@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2013-10-27 7:40 ` burnus at gcc dot gnu.org
@ 2013-10-30 18:53 ` burnus at gcc dot gnu.org
8 siblings, 0 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-10-30 18:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33426
--- Comment #18 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Author: burnus
Date: Wed Oct 30 18:53:42 2013
New Revision: 204223
URL: http://gcc.gnu.org/viewcvs?rev=204223&root=gcc&view=rev
Log:
2013-10-30 Tobias Burnus <burnus@net-b.de>
gcc/cp/
PR other/33426
* cp-tree.h (RANGE_FOR_IVDEP): Define.
(cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt,
finish_for_cond): Take 'bool ivdep' parameter.
* cp-array-notation.c (create_an_loop): Update call.
* init.c (build_vec_init): Ditto.
* pt.c (tsubst_expr): Ditto.
* parser.c (cp_parser_iteration_statement, cp_parser_for,
cp_parser_range_for, cp_convert_range_for): Update calls.
(cp_parser_pragma): Accept GCC ivdep for 'while' and 'do'.
* semantics.c (finish_while_stmt_cond, finish_do_stmt,
finish_for_cond): Optionally build ivdep annotation.
gcc/testsuite/
PR other/33426
* g++.dg/vect/pr33426-ivdep-2.cc: New.
* g++.dg/vect/pr33426-ivdep-3.cc: New.
* g++.dg/vect/pr33426-ivdep-4.cc: New.
gcc/
PR other/33426
* gcc/tree-cfg.c (replace_loop_annotate): Replace warning by
warning_at.
Added:
trunk/gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc
trunk/gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc
trunk/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-array-notation.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/init.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c
^ permalink raw reply [flat|nested] 19+ messages in thread