diff options
Diffstat (limited to 'gcc/tree-predcom.c')
-rw-r--r-- | gcc/tree-predcom.c | 34 |
1 files changed, 2 insertions, 32 deletions
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c index 29080b7e06f..cb7d0883222 100644 --- a/gcc/tree-predcom.c +++ b/gcc/tree-predcom.c @@ -1440,30 +1440,6 @@ get_init_expr (chain_p chain, unsigned index) return VEC_index (tree, chain->inits, index); } -/* Marks all virtual operands of statement STMT for renaming. */ - -void -mark_virtual_ops_for_renaming (gimple stmt) -{ - tree var; - - if (gimple_code (stmt) == GIMPLE_PHI) - { - var = PHI_RESULT (stmt); - if (is_gimple_reg (var)) - return; - - if (TREE_CODE (var) == SSA_NAME) - var = SSA_NAME_VAR (var); - mark_sym_for_renaming (var); - return; - } - - update_stmt (stmt); - if (gimple_vuse (stmt)) - mark_sym_for_renaming (gimple_vop (cfun)); -} - /* Returns a new temporary variable used for the I-th variable carrying value of REF. The variable's uid is marked in TMP_VARS. */ @@ -1600,7 +1576,6 @@ initialize_root_vars_lm (struct loop *loop, dref root, bool written, else { gimple init_stmt = gimple_build_assign (var, init); - mark_virtual_ops_for_renaming (init_stmt); gsi_insert_on_edge_immediate (entry, init_stmt); } } @@ -1634,7 +1609,6 @@ execute_load_motion (struct loop *loop, chain_p chain, bitmap tmp_vars) FOR_EACH_VEC_ELT (dref, chain->refs, i, a) { bool is_read = DR_IS_READ (a->ref); - mark_virtual_ops_for_renaming (a->stmt); if (DR_IS_WRITE (a->ref)) { @@ -1730,7 +1704,7 @@ remove_stmt (gimple stmt) next = single_nonlooparound_use (name); reset_debug_uses (stmt); - mark_virtual_ops_for_renaming (stmt); + unlink_stmt_vdef (stmt); gsi_remove (&bsi, true); release_defs (stmt); @@ -1751,7 +1725,7 @@ execute_pred_commoning_chain (struct loop *loop, chain_p chain, bitmap tmp_vars) { unsigned i; - dref a, root; + dref a; tree var; if (chain->combined) @@ -1766,13 +1740,9 @@ execute_pred_commoning_chain (struct loop *loop, chain_p chain, /* For non-combined chains, set up the variables that hold its value, and replace the uses of the original references by these variables. */ - root = get_chain_root (chain); - mark_virtual_ops_for_renaming (root->stmt); - initialize_root (loop, chain, tmp_vars); for (i = 1; VEC_iterate (dref, chain->refs, i, a); i++) { - mark_virtual_ops_for_renaming (a->stmt); var = VEC_index (tree, chain->vars, chain->length - a->distance); replace_ref_with (a->stmt, var, false, false); } |