middle-end/108086 - remove PR28238 fix superseeded by PR34018 fix
Checks
Commit Message
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.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
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(-)
@@ -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)