inliner: Remove unused transform_lang_insert_block hook

Message ID 20211123095932.GT2646553@tucnak
State New
Headers show
Series
  • inliner: Remove unused transform_lang_insert_block hook
Related show

Commit Message

Petter Tomner via Gcc-patches Nov. 23, 2021, 9:59 a.m.
Hi!

This struct copy_body_data's hook is always NULL since merge
of the tuples branch, before that it has been shortly used by the C++
FE during ctor/dtor cloning to chain the remapped blocks, but only
very shortly, before transform_lang_insert_block was a bool and
the call to insert_block was done through a langhook.
I'd say that for something that hasn't been used since 4.4 there is
zero chance we'll want to use it again in the near future.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2021-11-23  Jakub Jelinek  <jakub@redhat.com>

gcc/
	* tree-inline.h (struct copy_body_data): Remove
	transform_lang_insert_block member.
	* tree-inline.c (remap_block): Don't call
	id->transform_lang_insert_block.
	(optimize_inline_calls, copy_gimple_seq_and_replace_locals,
	tree_function_versioning, maybe_inline_call_in_expr,
	copy_fn): Don't initialize id.transform_lang_insert_block.
	* gimplify.c (gimplify_omp_loop): Likewise.
gcc/c/
	* c-typeck.c (c_clone_omp_udr): Don't initialize
	id.transform_lang_insert_block.
gcc/cp/
	* semantics.c (clone_omp_udr): Don't initialize
	id.transform_lang_insert_block.
	* optimize.c (clone_body): Likewise.


	Jakub

Comments

Petter Tomner via Gcc-patches Nov. 23, 2021, 10:02 a.m. | #1
On Tue, 23 Nov 2021, Jakub Jelinek wrote:

> Hi!

> 

> This struct copy_body_data's hook is always NULL since merge

> of the tuples branch, before that it has been shortly used by the C++

> FE during ctor/dtor cloning to chain the remapped blocks, but only

> very shortly, before transform_lang_insert_block was a bool and

> the call to insert_block was done through a langhook.

> I'd say that for something that hasn't been used since 4.4 there is

> zero chance we'll want to use it again in the near future.

> 

> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?


OK.

Richard.

> 2021-11-23  Jakub Jelinek  <jakub@redhat.com>

> 

> gcc/

> 	* tree-inline.h (struct copy_body_data): Remove

> 	transform_lang_insert_block member.

> 	* tree-inline.c (remap_block): Don't call

> 	id->transform_lang_insert_block.

> 	(optimize_inline_calls, copy_gimple_seq_and_replace_locals,

> 	tree_function_versioning, maybe_inline_call_in_expr,

> 	copy_fn): Don't initialize id.transform_lang_insert_block.

> 	* gimplify.c (gimplify_omp_loop): Likewise.

> gcc/c/

> 	* c-typeck.c (c_clone_omp_udr): Don't initialize

> 	id.transform_lang_insert_block.

> gcc/cp/

> 	* semantics.c (clone_omp_udr): Don't initialize

> 	id.transform_lang_insert_block.

> 	* optimize.c (clone_body): Likewise.

> 

> --- gcc/tree-inline.h.jj	2021-05-04 21:02:24.181799753 +0200

> +++ gcc/tree-inline.h	2021-11-22 13:17:15.330592766 +0100

> @@ -133,9 +133,6 @@ struct copy_body_data

>       and only in that case will actually remap the type.  */

>    bool dont_remap_vla_if_no_change;

>  

> -  /* A function to be called when duplicating BLOCK nodes.  */

> -  void (*transform_lang_insert_block) (tree);

> -

>    /* Statements that might be possibly folded.  */

>    hash_set<gimple *> *statements_to_fold;

>  

> --- gcc/tree-inline.c.jj	2021-11-19 16:39:51.669594099 +0100

> +++ gcc/tree-inline.c	2021-11-22 13:17:30.429377127 +0100

> @@ -823,9 +823,6 @@ remap_block (tree *block, copy_body_data

>    					&BLOCK_NONLOCALIZED_VARS (new_block),

>  					id);

>  

> -  if (id->transform_lang_insert_block)

> -    id->transform_lang_insert_block (new_block);

> -

>    /* Remember the remapped block.  */

>    insert_decl_map (id, old_block, new_block);

>  }

> @@ -5473,7 +5470,6 @@ optimize_inline_calls (tree fn)

>    id.transform_new_cfg = false;

>    id.transform_return_to_modify = true;

>    id.transform_parameter = true;

> -  id.transform_lang_insert_block = NULL;

>    id.statements_to_fold = new hash_set<gimple *>;

>  

>    push_gimplify_context ();

> @@ -5857,7 +5853,6 @@ copy_gimple_seq_and_replace_locals (gimp

>    id.transform_new_cfg = false;

>    id.transform_return_to_modify = false;

>    id.transform_parameter = false;

> -  id.transform_lang_insert_block = NULL;

>  

>    /* Walk the tree once to find local labels.  */

>    memset (&wi, 0, sizeof (wi));

> @@ -6252,7 +6247,6 @@ tree_function_versioning (tree old_decl,

>    id.transform_new_cfg = true;

>    id.transform_return_to_modify = false;

>    id.transform_parameter = false;

> -  id.transform_lang_insert_block = NULL;

>  

>    old_entry_block = ENTRY_BLOCK_PTR_FOR_FN

>      (DECL_STRUCT_FUNCTION (old_decl));

> @@ -6541,7 +6535,6 @@ maybe_inline_call_in_expr (tree exp)

>        id.transform_new_cfg = false;

>        id.transform_return_to_modify = true;

>        id.transform_parameter = true;

> -      id.transform_lang_insert_block = NULL;

>  

>        /* Make sure not to unshare trees behind the front-end's back

>  	 since front-end specific mechanisms may rely on sharing.  */

> @@ -6613,7 +6606,6 @@ copy_fn (tree fn, tree& parms, tree& res

>    id.transform_new_cfg = false;

>    id.transform_return_to_modify = false;

>    id.transform_parameter = true;

> -  id.transform_lang_insert_block = NULL;

>  

>    /* Make sure not to unshare trees behind the front-end's back

>       since front-end specific mechanisms may rely on sharing.  */

> --- gcc/gimplify.c.jj	2021-11-22 16:14:18.365451780 +0100

> +++ gcc/gimplify.c	2021-11-22 16:54:31.726082428 +0100

> @@ -13413,7 +13413,6 @@ gimplify_omp_loop (tree *expr_p, gimple_

>  		id.transform_call_graph_edges = CB_CGE_DUPLICATE;

>  		id.transform_new_cfg = true;

>  		id.transform_return_to_modify = false;

> -		id.transform_lang_insert_block = NULL;

>  		id.eh_lp_nr = 0;

>  		walk_tree (&OMP_CLAUSE_REDUCTION_INIT (*pc), copy_tree_body_r,

>  			   &id, NULL);

> --- gcc/c/c-typeck.c.jj	2021-11-22 10:07:01.305225923 +0100

> +++ gcc/c/c-typeck.c	2021-11-22 13:18:20.678659463 +0100

> @@ -13848,7 +13848,6 @@ c_clone_omp_udr (tree stmt, tree omp_dec

>    id.transform_call_graph_edges = CB_CGE_DUPLICATE;

>    id.transform_new_cfg = true;

>    id.transform_return_to_modify = false;

> -  id.transform_lang_insert_block = NULL;

>    id.eh_lp_nr = 0;

>    walk_tree (&stmt, copy_tree_body_r, &id, NULL);

>    return stmt;

> --- gcc/cp/semantics.c.jj	2021-11-19 09:58:37.239716820 +0100

> +++ gcc/cp/semantics.c	2021-11-22 13:18:40.604374884 +0100

> @@ -6066,7 +6066,6 @@ clone_omp_udr (tree stmt, tree omp_decl1

>    id.transform_call_graph_edges = CB_CGE_DUPLICATE;

>    id.transform_new_cfg = true;

>    id.transform_return_to_modify = false;

> -  id.transform_lang_insert_block = NULL;

>    id.eh_lp_nr = 0;

>    walk_tree (&stmt, copy_tree_body_r, &id, NULL);

>    return stmt;

> --- gcc/cp/optimize.c.jj	2021-03-23 10:20:42.765718056 +0100

> +++ gcc/cp/optimize.c	2021-11-22 13:18:51.899213569 +0100

> @@ -103,7 +103,6 @@ clone_body (tree clone, tree fn, void *a

>    id.transform_call_graph_edges = CB_CGE_DUPLICATE;

>    id.transform_new_cfg = true;

>    id.transform_return_to_modify = false;

> -  id.transform_lang_insert_block = NULL;

>  

>    /* We're not inside any EH region.  */

>    id.eh_lp_nr = 0;

> 

> 	Jakub

> 

> 


-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Ivo Totev; HRB 36809 (AG Nuernberg)

Patch

--- gcc/tree-inline.h.jj	2021-05-04 21:02:24.181799753 +0200
+++ gcc/tree-inline.h	2021-11-22 13:17:15.330592766 +0100
@@ -133,9 +133,6 @@  struct copy_body_data
      and only in that case will actually remap the type.  */
   bool dont_remap_vla_if_no_change;
 
-  /* A function to be called when duplicating BLOCK nodes.  */
-  void (*transform_lang_insert_block) (tree);
-
   /* Statements that might be possibly folded.  */
   hash_set<gimple *> *statements_to_fold;
 
--- gcc/tree-inline.c.jj	2021-11-19 16:39:51.669594099 +0100
+++ gcc/tree-inline.c	2021-11-22 13:17:30.429377127 +0100
@@ -823,9 +823,6 @@  remap_block (tree *block, copy_body_data
   					&BLOCK_NONLOCALIZED_VARS (new_block),
 					id);
 
-  if (id->transform_lang_insert_block)
-    id->transform_lang_insert_block (new_block);
-
   /* Remember the remapped block.  */
   insert_decl_map (id, old_block, new_block);
 }
@@ -5473,7 +5470,6 @@  optimize_inline_calls (tree fn)
   id.transform_new_cfg = false;
   id.transform_return_to_modify = true;
   id.transform_parameter = true;
-  id.transform_lang_insert_block = NULL;
   id.statements_to_fold = new hash_set<gimple *>;
 
   push_gimplify_context ();
@@ -5857,7 +5853,6 @@  copy_gimple_seq_and_replace_locals (gimp
   id.transform_new_cfg = false;
   id.transform_return_to_modify = false;
   id.transform_parameter = false;
-  id.transform_lang_insert_block = NULL;
 
   /* Walk the tree once to find local labels.  */
   memset (&wi, 0, sizeof (wi));
@@ -6252,7 +6247,6 @@  tree_function_versioning (tree old_decl,
   id.transform_new_cfg = true;
   id.transform_return_to_modify = false;
   id.transform_parameter = false;
-  id.transform_lang_insert_block = NULL;
 
   old_entry_block = ENTRY_BLOCK_PTR_FOR_FN
     (DECL_STRUCT_FUNCTION (old_decl));
@@ -6541,7 +6535,6 @@  maybe_inline_call_in_expr (tree exp)
       id.transform_new_cfg = false;
       id.transform_return_to_modify = true;
       id.transform_parameter = true;
-      id.transform_lang_insert_block = NULL;
 
       /* Make sure not to unshare trees behind the front-end's back
 	 since front-end specific mechanisms may rely on sharing.  */
@@ -6613,7 +6606,6 @@  copy_fn (tree fn, tree& parms, tree& res
   id.transform_new_cfg = false;
   id.transform_return_to_modify = false;
   id.transform_parameter = true;
-  id.transform_lang_insert_block = NULL;
 
   /* Make sure not to unshare trees behind the front-end's back
      since front-end specific mechanisms may rely on sharing.  */
--- gcc/gimplify.c.jj	2021-11-22 16:14:18.365451780 +0100
+++ gcc/gimplify.c	2021-11-22 16:54:31.726082428 +0100
@@ -13413,7 +13413,6 @@  gimplify_omp_loop (tree *expr_p, gimple_
 		id.transform_call_graph_edges = CB_CGE_DUPLICATE;
 		id.transform_new_cfg = true;
 		id.transform_return_to_modify = false;
-		id.transform_lang_insert_block = NULL;
 		id.eh_lp_nr = 0;
 		walk_tree (&OMP_CLAUSE_REDUCTION_INIT (*pc), copy_tree_body_r,
 			   &id, NULL);
--- gcc/c/c-typeck.c.jj	2021-11-22 10:07:01.305225923 +0100
+++ gcc/c/c-typeck.c	2021-11-22 13:18:20.678659463 +0100
@@ -13848,7 +13848,6 @@  c_clone_omp_udr (tree stmt, tree omp_dec
   id.transform_call_graph_edges = CB_CGE_DUPLICATE;
   id.transform_new_cfg = true;
   id.transform_return_to_modify = false;
-  id.transform_lang_insert_block = NULL;
   id.eh_lp_nr = 0;
   walk_tree (&stmt, copy_tree_body_r, &id, NULL);
   return stmt;
--- gcc/cp/semantics.c.jj	2021-11-19 09:58:37.239716820 +0100
+++ gcc/cp/semantics.c	2021-11-22 13:18:40.604374884 +0100
@@ -6066,7 +6066,6 @@  clone_omp_udr (tree stmt, tree omp_decl1
   id.transform_call_graph_edges = CB_CGE_DUPLICATE;
   id.transform_new_cfg = true;
   id.transform_return_to_modify = false;
-  id.transform_lang_insert_block = NULL;
   id.eh_lp_nr = 0;
   walk_tree (&stmt, copy_tree_body_r, &id, NULL);
   return stmt;
--- gcc/cp/optimize.c.jj	2021-03-23 10:20:42.765718056 +0100
+++ gcc/cp/optimize.c	2021-11-22 13:18:51.899213569 +0100
@@ -103,7 +103,6 @@  clone_body (tree clone, tree fn, void *a
   id.transform_call_graph_edges = CB_CGE_DUPLICATE;
   id.transform_new_cfg = true;
   id.transform_return_to_modify = false;
-  id.transform_lang_insert_block = NULL;
 
   /* We're not inside any EH region.  */
   id.eh_lp_nr = 0;