From 340ddeae6611f6ab524211a009e97a85b4bba549 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 16 Dec 2022 09:46:25 +0100 Subject: [PATCH] middle-end/108086 - remove PR28238 fix superseeded by PR34018 fix There's quite special code in copy_bb that handles inline substitution of a non-invariant address in place of an invariant one that's now handled by more generic handling of this case in remap_gimple_op_r so this removes the special casing that happens in a hot path, providing a small speedup. PR middle-end/108086 * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m substitution which is done in remap_gimple_op_r via re-gimplifying. --- gcc/tree-inline.cc | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gcc/tree-inline.cc b/gcc/tree-inline.cc index 02d8c39..9fd971a 100644 --- a/gcc/tree-inline.cc +++ b/gcc/tree-inline.cc @@ -2074,21 +2074,6 @@ copy_bb (copy_body_data *id, basic_block bb, gimple_duplicate_stmt_histograms (cfun, stmt, id->src_cfun, orig_stmt); - /* With return slot optimization we can end up with - non-gimple (foo *)&this->m, fix that here. */ - if (is_gimple_assign (stmt) - && CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt)) - && !is_gimple_val (gimple_assign_rhs1 (stmt))) - { - tree new_rhs; - new_rhs = force_gimple_operand_gsi (&seq_gsi, - gimple_assign_rhs1 (stmt), - true, NULL, false, - GSI_CONTINUE_LINKING); - gimple_assign_set_rhs1 (stmt, new_rhs); - id->regimplify = false; - } - gsi_insert_after (&seq_gsi, stmt, GSI_NEW_STMT); if (id->regimplify) -- 2.7.4