Introduce gimple_omp_continue
commit0ff9e61b747b68d87dd5eb9cd091a10669ac73c3
authorDavid Malcolm <dmalcolm@redhat.com>
Mon, 16 Dec 2013 21:56:13 +0000 (16 16:56 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 24 Oct 2014 21:24:23 +0000 (24 17:24 -0400)
treed2dd5a50ef31ca1a791d0f7ab4c2b42676f25029
parentdb618884e6406712515e6b83d00f573395848e59
Introduce gimple_omp_continue

This corresponds to:
  [PATCH 36/89] Introduce gimple_omp_continue
  https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01205.html
from the original 89-patch kit

That earlier patch was approved by Jeff:
> OK with expected changes due to renaming/updates to const handling.
> Please repost the final patch for archival purposes.
in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00826.html

gcc/
* coretypes.h (gimple_omp_continue): New typedef.
(const_gimple_omp_continue): New typedef.

* gimple.h (gimple_build_omp_continue): Return a
gimple_omp_continue rather than a plain gimple.
(gimple_omp_continue_control_def): Require a
const_gimple_omp_continue rather than a plain const_gimple.
(gimple_omp_continue_control_use): Likewise.
(gimple_omp_continue_control_def_ptr): Require a gimple_omp_continue
rather than a plain gimple.
(gimple_omp_continue_set_control_def): Likewise.
(gimple_omp_continue_control_use_ptr): Likewise.
(gimple_omp_continue_set_control_use): Likewise.

* gimple-pretty-print.c (dump_gimple_omp_continue): Require a
gimple_omp_continue rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_omp_continue
within GIMPLE_OMP_CONTINUE case of switch statement.

* gimple-walk.c (walk_gimple_op): Likewise, adding a new local.

* gimple.c (gimple_build_omp_continue): Return a
gimple_omp_continue rather than a plain gimple.

* omp-low.c (gimple_build_cond_empty): Return a gimple_cond
rather than a plain gimple.
(expand_omp_for_generic): Split local "stmt" into "assign_stmt",
"cont_stmt", "cond_stmt", "call_stmt" of types gimple_assign,
gimple_omp_continue, gimple_cond, gimple_call respectively.
(expand_omp_for_static_nochunk): Likewise, splitting into two
"cond_stmt" decls. "assign_stmt", "cont_stmt"
(expand_omp_for_static_chunk): Likewise, splitting into
"cond_stmt", "assign_stmt", "cont_stmt".
(expand_omp_sections): Strengthen local "cont" from gimple to
gimple_omp_continue.
gcc/ChangeLog.gimple-classes
gcc/coretypes.h
gcc/gimple-pretty-print.c
gcc/gimple-walk.c
gcc/gimple.c
gcc/gimple.h
gcc/omp-low.c