@@ -1,5 +1,19 @@
2014-10-29 David Malcolm <dmalcolm@redhat.com>
+ * gimple.h (gimple_omp_teams_clauses): Strengthen param from
+ const_gimple to const gomp_teams *.
+ (gimple_omp_teams_clauses_ptr): Strengthen param from gimple to
+ gomp_teams *.
+
+ * gimple-walk.c (walk_gimple_op): Add checked cast.
+ * tree-inline.c (remap_gimple_stmt): Within case GIMPLE_OMP_TEAMS,
+ introduce local "omp_teams_stmt" via a checked cast, and use in
+ place of "stmt".
+ * tree-nested.c (convert_nonlocal_reference_stmt): Likewise.
+ (convert_local_reference_stmt): Likewise.
+
+2014-10-29 David Malcolm <dmalcolm@redhat.com>
+
* gimple.h (gimple_omp_for_kind): Strengthen param from
const_gimple to const gomp_for *.
(gimple_omp_for_combined_p): Likewise.
@@ -433,8 +433,9 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
break;
case GIMPLE_OMP_TEAMS:
- ret = walk_tree (gimple_omp_teams_clauses_ptr (stmt), callback_op, wi,
- pset);
+ ret = walk_tree (gimple_omp_teams_clauses_ptr (
+ as_a <gomp_teams *> (stmt)),
+ callback_op, wi, pset);
if (ret)
return ret;
break;
@@ -5077,24 +5077,21 @@ gimple_omp_target_set_data_arg (gomp_target *omp_target_stmt,
}
-/* Return the clauses associated with OMP_TEAMS GS. */
+/* Return the clauses associated with OMP_TEAMS OMP_TEAMS_STMT. */
static inline tree
-gimple_omp_teams_clauses (const_gimple gs)
+gimple_omp_teams_clauses (const gomp_teams *omp_teams_stmt)
{
- const gomp_teams *omp_teams_stmt =
- as_a <const gomp_teams *> (gs);
return omp_teams_stmt->clauses;
}
-/* Return a pointer to the clauses associated with OMP_TEAMS GS. */
+/* Return a pointer to the clauses associated with OMP_TEAMS
+ OMP_TEAMS_STMT. */
static inline tree *
-gimple_omp_teams_clauses_ptr (gimple gs)
+gimple_omp_teams_clauses_ptr (gomp_teams *omp_teams_stmt)
{
- gomp_teams *omp_teams_stmt =
- as_a <gomp_teams *> (gs);
return &omp_teams_stmt->clauses;
}
@@ -1474,9 +1474,12 @@ remap_gimple_stmt (gimple stmt, copy_body_data *id)
break;
case GIMPLE_OMP_TEAMS:
- s1 = remap_gimple_seq (gimple_omp_body (stmt), id);
- copy = gimple_build_omp_teams
- (s1, gimple_omp_teams_clauses (stmt));
+ {
+ gomp_teams *omp_teams_stmt = as_a <gomp_teams *> (stmt);
+ s1 = remap_gimple_seq (gimple_omp_body (omp_teams_stmt), id);
+ copy = gimple_build_omp_teams
+ (s1, gimple_omp_teams_clauses (omp_teams_stmt));
+ }
break;
case GIMPLE_OMP_CRITICAL:
@@ -1421,11 +1421,17 @@ convert_nonlocal_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p,
break;
case GIMPLE_OMP_TEAMS:
- save_suppress = info->suppress_expansion;
- convert_nonlocal_omp_clauses (gimple_omp_teams_clauses_ptr (stmt), wi);
- walk_body (convert_nonlocal_reference_stmt, convert_nonlocal_reference_op,
- info, gimple_omp_body_ptr (stmt));
- info->suppress_expansion = save_suppress;
+ {
+ gomp_teams *omp_teams_stmt = as_a <gomp_teams *> (stmt);
+ save_suppress = info->suppress_expansion;
+ convert_nonlocal_omp_clauses (gimple_omp_teams_clauses_ptr (
+ omp_teams_stmt),
+ wi);
+ walk_body (convert_nonlocal_reference_stmt,
+ convert_nonlocal_reference_op,
+ info, gimple_omp_body_ptr (omp_teams_stmt));
+ info->suppress_expansion = save_suppress;
+ }
break;
case GIMPLE_OMP_SECTION:
@@ -1990,11 +1996,16 @@ convert_local_reference_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p,
break;
case GIMPLE_OMP_TEAMS:
- save_suppress = info->suppress_expansion;
- convert_local_omp_clauses (gimple_omp_teams_clauses_ptr (stmt), wi);
- walk_body (convert_local_reference_stmt, convert_local_reference_op,
- info, gimple_omp_body_ptr (stmt));
- info->suppress_expansion = save_suppress;
+ {
+ gomp_teams *omp_teams_stmt = as_a <gomp_teams *> (stmt);
+ save_suppress = info->suppress_expansion;
+ convert_local_omp_clauses (gimple_omp_teams_clauses_ptr (
+ omp_teams_stmt),
+ wi);
+ walk_body (convert_local_reference_stmt, convert_local_reference_op,
+ info, gimple_omp_body_ptr (omp_teams_stmt));
+ info->suppress_expansion = save_suppress;
+ }
break;
case GIMPLE_OMP_SECTION: