Re: [PATCH] middle-end/108086 - avoid unshare_expr when remapping SSA names

2023-01-18 Thread Richard Biener via Gcc-patches
On Fri, 16 Dec 2022, Richard Biener wrote:

> r0-89280-g129a37fc319db8 added unsharing to remap_ssa_name but
> that wasn't in the version of the patch posted.  That has some
> non-trivial cost through mostly_copy_tree_r and copy_tree_r but
> more importantly it doesn't seem to be necessary.  I've successfully
> bootstrapped and tested with an assert we only get
> tree_node_can_be_shared trees here.
> 
> Bootstrapped and tested on x86_64-unknown-linux-gnu with all
> languages.
> 
> Pushed to trunk.

Reverted due to PR108445, will revisit during stage1.

Richard.

>   PR middle-end/108086
>   * tree-inline.cc (remap_ssa_name): Do not unshare the
>   result from the decl_map.
> ---
>  gcc/tree-inline.cc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gcc/tree-inline.cc b/gcc/tree-inline.cc
> index c802792fa07..b471774ce51 100644
> --- a/gcc/tree-inline.cc
> +++ b/gcc/tree-inline.cc
> @@ -183,7 +183,7 @@ remap_ssa_name (tree name, copy_body_data *id)
> return name;
>   }
>  
> -  return unshare_expr (*n);
> +  return *n;
>  }
>  
>if (processing_debug_stmt)
> 

-- 
Richard Biener 
SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg,
Germany; GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman;
HRB 36809 (AG Nuernberg)


[PATCH] middle-end/108086 - avoid unshare_expr when remapping SSA names

2022-12-16 Thread Richard Biener via Gcc-patches
r0-89280-g129a37fc319db8 added unsharing to remap_ssa_name but
that wasn't in the version of the patch posted.  That has some
non-trivial cost through mostly_copy_tree_r and copy_tree_r but
more importantly it doesn't seem to be necessary.  I've successfully
bootstrapped and tested with an assert we only get
tree_node_can_be_shared trees here.

Bootstrapped and tested on x86_64-unknown-linux-gnu with all
languages.

Pushed to trunk.

PR middle-end/108086
* tree-inline.cc (remap_ssa_name): Do not unshare the
result from the decl_map.
---
 gcc/tree-inline.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/tree-inline.cc b/gcc/tree-inline.cc
index c802792fa07..b471774ce51 100644
--- a/gcc/tree-inline.cc
+++ b/gcc/tree-inline.cc
@@ -183,7 +183,7 @@ remap_ssa_name (tree name, copy_body_data *id)
  return name;
}
 
-  return unshare_expr (*n);
+  return *n;
 }
 
   if (processing_debug_stmt)
-- 
2.35.3