re PR other/33426 (Support of #pragma ivdep)
authorTobias Burnus <burnus@net-b.de>
Wed, 30 Oct 2013 18:53:42 +0000 (19:53 +0100)
committerTobias Burnus <burnus@gcc.gnu.org>
Wed, 30 Oct 2013 18:53:42 +0000 (19:53 +0100)
commitc5028d807fd315cfeb2f1d44e5ffb1c6ca470aff
tree7d8909733bc9f939a4e8f741e8c10d5e7814c0e5
parent1079f7a198ba7e1114d8dce44f72a00cf9abb8eb
re PR other/33426 (Support of #pragma ivdep)

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.

From-SVN: r204223
13 files changed:
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/cp-array-notation.c
gcc/cp/cp-tree.h
gcc/cp/init.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc [new file with mode: 0644]
gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc [new file with mode: 0644]
gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc [new file with mode: 0644]
gcc/tree-cfg.c