diff options
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r-- | gcc/tree-if-conv.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index 88696465856..0d16fc81ac3 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -160,7 +160,6 @@ tree_if_conversion (struct loop *loop, bool for_vectorizer) ifc_bbs = NULL; } free_dominance_info (CDI_POST_DOMINATORS); - free_df (); return false; } @@ -205,7 +204,6 @@ tree_if_conversion (struct loop *loop, bool for_vectorizer) clean_predicate_lists (loop); free (ifc_bbs); ifc_bbs = NULL; - free_df (); return true; } @@ -346,13 +344,11 @@ if_convertable_phi_p (struct loop *loop, basic_block bb, tree phi) if (!is_gimple_reg (SSA_NAME_VAR (PHI_RESULT (phi)))) { - int j; - dataflow_t df = get_immediate_uses (phi); - int num_uses = num_immediate_uses (df); - for (j = 0; j < num_uses; j++) + imm_use_iterator imm_iter; + use_operand_p use_p; + FOR_EACH_IMM_USE_FAST (use_p, imm_iter, PHI_RESULT (phi)) { - tree use = immediate_use (df, j); - if (TREE_CODE (use) == PHI_NODE) + if (TREE_CODE (USE_STMT (use_p)) == PHI_NODE) { if (dump_file && (dump_flags & TDF_DETAILS)) fprintf (dump_file, "Difficult to handle this virtual phi.\n"); @@ -562,8 +558,6 @@ if_convertable_loop_p (struct loop *loop, bool for_vectorizer ATTRIBUTE_UNUSED) if ( e->flags & EDGE_LOOP_EXIT) return false; - compute_immediate_uses (TDFA_USE_OPS|TDFA_USE_VOPS, NULL); - calculate_dominance_info (CDI_DOMINATORS); calculate_dominance_info (CDI_POST_DOMINATORS); @@ -788,7 +782,7 @@ replace_phi_with_cond_modify_expr (tree phi, tree cond, basic_block true_bb, bsi_insert_after (bsi, new_stmt, BSI_SAME_STMT); bsi_next (bsi); - modify_stmt (new_stmt); + update_stmt (new_stmt); if (dump_file && (dump_flags & TDF_DETAILS)) { |