diff options
author | Richard Biener <rguenther@suse.de> | 2022-12-16 09:46:25 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-12-16 10:29:02 +0100 |
commit | 340ddeae6611f6ab524211a009e97a85b4bba549 (patch) | |
tree | 6a00bb093c95bdf8656b4ab93a91ca6b2aeec328 | |
parent | ddcaa60983b50378bde1b7e327086fe0ce101795 (diff) | |
download | gcc-340ddeae6611f6ab524211a009e97a85b4bba549.zip gcc-340ddeae6611f6ab524211a009e97a85b4bba549.tar.gz gcc-340ddeae6611f6ab524211a009e97a85b4bba549.tar.bz2 |
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.
-rw-r--r-- | gcc/tree-inline.cc | 15 |
1 files changed, 0 insertions, 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) |