diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2014-12-12 21:01:18 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gcc.gnu.org> | 2014-12-12 21:01:18 +0100 |
commit | 8e25a61aca4163c9f11d993dbf8aff808c41c413 (patch) | |
tree | 864c9b62ba2938b139ec4ed6d2eb1d2d616aaabf /gcc | |
parent | c0b6f54bd34fc824b7dcacf2a57b0b915852389d (diff) | |
download | gcc-8e25a61aca4163c9f11d993dbf8aff808c41c413.zip gcc-8e25a61aca4163c9f11d993dbf8aff808c41c413.tar.gz gcc-8e25a61aca4163c9f11d993dbf8aff808c41c413.tar.bz2 |
A bit of walk_gimple_op maintenance.
* gimple-walk.c (walk_gimple_op) <GIMPLE_OMP_FOR>: Also check
intermediate walk_tree results for for_incr.
<GIMPLE_OMP_TARGET>: Walk child_fn and data_arg, too.
<GIMPLE_OMP_CRITICAL, GIMPLE_OMP_ATOMIC_STORE>: Pretty printing.
From-SVN: r218686
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/gimple-walk.c | 49 |
2 files changed, 38 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf9571b..3a20032 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-12-12 Thomas Schwinge <thomas@codesourcery.com> + + * gimple-walk.c (walk_gimple_op) <GIMPLE_OMP_FOR>: Also check + intermediate walk_tree results for for_incr. + <GIMPLE_OMP_TARGET>: Walk child_fn and data_arg, too. + <GIMPLE_OMP_CRITICAL, GIMPLE_OMP_ATOMIC_STORE>: Pretty printing. + 2014-12-12 Richard Sandiford <richard.sandiford@arm.com> PR middle-end/64182 diff --git a/gcc/gimple-walk.c b/gcc/gimple-walk.c index 48fa05d..959d68e 100644 --- a/gcc/gimple-walk.c +++ b/gcc/gimple-walk.c @@ -321,11 +321,13 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op, break; case GIMPLE_OMP_CRITICAL: - ret = walk_tree (gimple_omp_critical_name_ptr ( - as_a <gomp_critical *> (stmt)), - callback_op, wi, pset); - if (ret) - return ret; + { + gomp_critical *omp_stmt = as_a <gomp_critical *> (stmt); + ret = walk_tree (gimple_omp_critical_name_ptr (omp_stmt), + callback_op, wi, pset); + if (ret) + return ret; + } break; case GIMPLE_OMP_FOR: @@ -349,9 +351,9 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op, return ret; ret = walk_tree (gimple_omp_for_incr_ptr (stmt, i), callback_op, wi, pset); + if (ret) + return ret; } - if (ret) - return ret; break; case GIMPLE_OMP_PARALLEL: @@ -404,7 +406,6 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op, wi, pset); if (ret) return ret; - ret = walk_tree (gimple_omp_sections_control_ptr (stmt), callback_op, wi, pset); if (ret) @@ -420,10 +421,21 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op, break; case GIMPLE_OMP_TARGET: - ret = walk_tree (gimple_omp_target_clauses_ptr (stmt), callback_op, wi, - pset); - if (ret) - return ret; + { + gomp_target *omp_stmt = as_a <gomp_target *> (stmt); + ret = walk_tree (gimple_omp_target_clauses_ptr (omp_stmt), + callback_op, wi, pset); + if (ret) + return ret; + ret = walk_tree (gimple_omp_target_child_fn_ptr (omp_stmt), + callback_op, wi, pset); + if (ret) + return ret; + ret = walk_tree (gimple_omp_target_data_arg_ptr (omp_stmt), + callback_op, wi, pset); + if (ret) + return ret; + } break; case GIMPLE_OMP_TEAMS: @@ -440,7 +452,6 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op, callback_op, wi, pset); if (ret) return ret; - ret = walk_tree (gimple_omp_atomic_load_rhs_ptr (omp_stmt), callback_op, wi, pset); if (ret) @@ -449,11 +460,13 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op, break; case GIMPLE_OMP_ATOMIC_STORE: - ret = walk_tree (gimple_omp_atomic_store_val_ptr ( - as_a <gomp_atomic_store *> (stmt)), - callback_op, wi, pset); - if (ret) - return ret; + { + gomp_atomic_store *omp_stmt = as_a <gomp_atomic_store *> (stmt); + ret = walk_tree (gimple_omp_atomic_store_val_ptr (omp_stmt), + callback_op, wi, pset); + if (ret) + return ret; + } break; case GIMPLE_TRANSACTION: |