diff options
Diffstat (limited to 'gcc/tree-nested.cc')
-rw-r--r-- | gcc/tree-nested.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree-nested.cc b/gcc/tree-nested.cc index 8d75a2f..9bc7624 100644 --- a/gcc/tree-nested.cc +++ b/gcc/tree-nested.cc @@ -1532,6 +1532,7 @@ convert_nonlocal_omp_clauses (tree *pclauses, struct walk_stmt_info *wi) case OMP_CLAUSE_BIND: case OMP_CLAUSE__CONDTEMP_: case OMP_CLAUSE__SCANTEMP_: + case OMP_CLAUSE__OMPACC_: break; /* The following clause belongs to the OpenACC cache directive, which @@ -1796,6 +1797,8 @@ convert_nonlocal_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p, break; case GIMPLE_OMP_TARGET: + walk_body (convert_nonlocal_reference_stmt, convert_nonlocal_reference_op, + info, gimple_omp_target_iterator_loops_ptr (as_a <gomp_target *> (stmt))); if (!is_gimple_omp_offloaded (stmt)) { save_suppress = info->suppress_expansion; @@ -2317,6 +2320,7 @@ convert_local_omp_clauses (tree *pclauses, struct walk_stmt_info *wi) case OMP_CLAUSE_BIND: case OMP_CLAUSE__CONDTEMP_: case OMP_CLAUSE__SCANTEMP_: + case OMP_CLAUSE__OMPACC_: break; /* The following clause belongs to the OpenACC cache directive, which @@ -2517,6 +2521,9 @@ convert_local_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p, break; case GIMPLE_OMP_TARGET: + walk_body (convert_local_reference_stmt, convert_local_reference_op, info, + gimple_omp_target_iterator_loops_ptr (as_a <gomp_target *> (stmt))); + if (!is_gimple_omp_offloaded (stmt)) { save_suppress = info->suppress_expansion; @@ -2903,6 +2910,9 @@ convert_tramp_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p, case GIMPLE_OMP_TASK: do_parallel: { + if (gimple_code (stmt) == GIMPLE_OMP_TARGET) + walk_body (convert_tramp_reference_stmt, convert_tramp_reference_op, + info, gimple_omp_target_iterator_loops_ptr (as_a <gomp_target *> (stmt))); tree save_local_var_chain = info->new_local_var_chain; walk_gimple_op (stmt, convert_tramp_reference_op, wi); info->new_local_var_chain = NULL; |