omp-low.c (lower_omp_scan): Call lower_omp on stmt's body in worksharing loop scans.
authorJakub Jelinek <jakub@redhat.com>
Thu, 4 Jul 2019 04:55:59 +0000 (06:55 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 4 Jul 2019 04:55:59 +0000 (06:55 +0200)
* omp-low.c (lower_omp_scan): Call lower_omp on stmt's body
in worksharing loop scans.

From-SVN: r273038

gcc/ChangeLog
gcc/omp-low.c

index 8aed90ab9d1ce5436d3290704337582b2a21e393..5d3d359b1dff332561a8d551b93f2830f65aafd5 100644 (file)
@@ -1,5 +1,8 @@
 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
 
+       * omp-low.c (lower_omp_scan): Call lower_omp on stmt's body
+       in worksharing loop scans.
+
        PR tree-optimization/91074
        * omp-low.c (lower_omp_for_scan): Set DECL_GIMPLE_REG_P on cplx
        temporary.
index 6e5b5322a05cb9774a94947872a608eb2214fdf2..7e85d4841b6d60c7c43f604a77bc0f71e41696a9 100644 (file)
@@ -8874,8 +8874,10 @@ lower_omp_scan (gimple_stmt_iterator *gsi_p, omp_context *ctx)
       gsi_insert_seq_after (gsi_p, gimple_omp_body (stmt), GSI_SAME_STMT);
       gsi_insert_seq_after (gsi_p, before, GSI_SAME_STMT);
       gsi_replace (gsi_p, gimple_build_nop (), true);
+      return;
     }
-  else if (before)
+  lower_omp (gimple_omp_body_ptr (stmt), octx);
+  if (before)
     {
       gimple_stmt_iterator gsi = gsi_start_1 (gimple_omp_body_ptr (stmt));
       gsi_insert_seq_before (&gsi, before, GSI_SAME_STMT);