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