On Wed, Dec 10, 2014 at 10:54:13AM +0100, Thomas Schwinge wrote:
> --- gcc/omp-low.c
> +++ gcc/omp-low.c
> @@ -9404,7 +9404,9 @@ build_omp_regions_1 (basic_block bb, struct omp_region 
> *parent,
>        else if (code == GIMPLE_OMP_TARGET
>              && (gimple_omp_target_kind (stmt) == GF_OMP_TARGET_KIND_UPDATE
>                  || (gimple_omp_target_kind (stmt)
> -                    == GF_OMP_TARGET_KIND_OACC_UPDATE)))
> +                    == GF_OMP_TARGET_KIND_OACC_UPDATE)
> +                || (gimple_omp_target_kind (stmt)
> +                    == GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA)))
>       new_omp_region (bb, code, parent);
>        else
>       {
> @@ -12270,7 +12272,9 @@ make_gimple_omp_edges (basic_block bb, struct 
> omp_region **region,
>        cur_region = new_omp_region (bb, code, cur_region);
>        fallthru = true;
>        if (gimple_omp_target_kind (last) == GF_OMP_TARGET_KIND_UPDATE
> -       || gimple_omp_target_kind (last) == GF_OMP_TARGET_KIND_OACC_UPDATE)
> +       || gimple_omp_target_kind (last) == GF_OMP_TARGET_KIND_OACC_UPDATE
> +       || (gimple_omp_target_kind (last)
> +           == GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA))

I'd say that at this point a
  switch (gimple_omp_target_kind (last))
    {
    case GF_OMP_TARGET_KIND_UPDATE:
    case GF_OMP_TARGET_KIND_OACC_UPDATE:
    case GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA:
      ...
    default:
      ...
    }
would be cleaner.  The first hunk is more questionable, because there is
else and it would require duplicating of the else body in default:, goto
or similar, but perhaps it would be better that way too.

        Jakub

Reply via email to