diff mbox

OpenACC GIMPLE_OACC_* -- or not?

Message ID 87mw6v7r86.fsf@kepler.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge Dec. 10, 2014, 10:07 a.m. UTC
Hi Jakub!

On Wed, 10 Dec 2014 10:57:58 +0100, I wrote:
> In r218568, I applied the following to gomp-4_0-branch:
> 
> commit 28629d718a63a782170cfb06a4d0278de0779039
> Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
> Date:   Wed Dec 10 09:52:28 2014 +0000
> 
>     Merge GIMPLE_OACC_KERNELS and GIMPLE_OACC_PARALLEL into GIMPLE_OMP_TARGET.
>     
>     	gcc/
>     	* gimple.def (GIMPLE_OACC_KERNELS, GIMPLE_OACC_PARALLEL): Merge
>     	into GIMPLE_OMP_TARGET.  Update all users.

Regarding this change:

> --- gcc/gimple-walk.c
> +++ gcc/gimple-walk.c
> @@ -304,36 +304,6 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
>  	return ret;
>        break;
>  
> -    case GIMPLE_OACC_KERNELS:
> -      ret = walk_tree (gimple_oacc_kernels_clauses_ptr (stmt), callback_op,
> -		       wi, pset);
> -      if (ret)
> -	return ret;
> -      ret = walk_tree (gimple_oacc_kernels_child_fn_ptr (stmt), callback_op,
> -		       wi, pset);
> -      if (ret)
> -	return ret;
> -      ret = walk_tree (gimple_oacc_kernels_data_arg_ptr (stmt), callback_op,
> -		       wi, pset);
> -      if (ret)
> -	return ret;
> -      break;
> -
> -    case GIMPLE_OACC_PARALLEL:
> -      ret = walk_tree (gimple_oacc_parallel_clauses_ptr (stmt), callback_op,
> -		       wi, pset);
> -      if (ret)
> -	return ret;
> -      ret = walk_tree (gimple_oacc_parallel_child_fn_ptr (stmt), callback_op,
> -		       wi, pset);
> -      if (ret)
> -	return ret;
> -      ret = walk_tree (gimple_oacc_parallel_data_arg_ptr (stmt), callback_op,
> -		       wi, pset);
> -      if (ret)
> -	return ret;
> -      break;
> -
>      case GIMPLE_OMP_CONTINUE:
>        ret = walk_tree (gimple_omp_continue_control_def_ptr (stmt),
>  	  	       callback_op, wi, pset);

..., I noticed that GIMPLE_OMP_TARGET doesn't walk the child_fn and
data_arg.  Is that intentional, or should that be done?  If the latter
(but this doesn't seem to cause any ill effects -- why?), OK to commit
the following to trunk?

 gcc/gimple-walk.c | 8 ++++++++
 1 file changed, 8 insertions(+)



Grüße,
 Thomas

Comments

Jakub Jelinek Dec. 10, 2014, 10:10 a.m. UTC | #1
On Wed, Dec 10, 2014 at 11:07:37AM +0100, Thomas Schwinge wrote:
> ..., I noticed that GIMPLE_OMP_TARGET doesn't walk the child_fn and
> data_arg.  Is that intentional, or should that be done?  If the latter
> (but this doesn't seem to cause any ill effects -- why?), OK to commit
> the following to trunk?

Ok with proper ChangeLog.

>  gcc/gimple-walk.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git gcc/gimple-walk.c gcc/gimple-walk.c
> index bfa3532..1330c04 100644
> --- gcc/gimple-walk.c
> +++ gcc/gimple-walk.c
> @@ -416,6 +416,14 @@ walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
>  		       pset);
>        if (ret)
>  	return ret;
> +      ret = walk_tree (gimple_omp_target_child_fn_ptr (stmt), callback_op, wi,
> +		       pset);
> +      if (ret)
> +	return ret;
> +      ret = walk_tree (gimple_omp_target_data_arg_ptr (stmt), callback_op, wi,
> +		       pset);
> +      if (ret)
> +	return ret;
>        break;
>  
>      case GIMPLE_OMP_TEAMS:

	Jakub
diff mbox

Patch

diff --git gcc/gimple-walk.c gcc/gimple-walk.c
index bfa3532..1330c04 100644
--- gcc/gimple-walk.c
+++ gcc/gimple-walk.c
@@ -416,6 +416,14 @@  walk_gimple_op (gimple stmt, walk_tree_fn callback_op,
 		       pset);
       if (ret)
 	return ret;
+      ret = walk_tree (gimple_omp_target_child_fn_ptr (stmt), callback_op, wi,
+		       pset);
+      if (ret)
+	return ret;
+      ret = walk_tree (gimple_omp_target_data_arg_ptr (stmt), callback_op, wi,
+		       pset);
+      if (ret)
+	return ret;
       break;
 
     case GIMPLE_OMP_TEAMS: