tree-flow-inline.h (phi_arg_from_edge): Remove.
[platform/upstream/gcc.git] / gcc / tree-ssa-threadupdate.c
index 8d205fd..92436a9 100644 (file)
@@ -169,7 +169,7 @@ remove_ctrl_stmt_and_useless_edges (basic_block bb, basic_block dest_bb)
   for (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); )
     {
       if (e->dest != dest_bb)
-       ssa_remove_edge (e);
+       remove_edge (e);
       else
        ei_next (&ei);
     }
@@ -203,7 +203,7 @@ static hashval_t
 redirection_data_hash (const void *p)
 {
   edge e = ((struct redirection_data *)p)->outgoing_edge;
-  return htab_hash_pointer (e);
+  return e->dest->index;
 }
 
 static int
@@ -298,8 +298,8 @@ create_edge_and_update_destination_phis (struct redirection_data *rd)
      associated with the outgoing edge stored in RD.  */
   for (phi = phi_nodes (e->dest); phi; phi = PHI_CHAIN (phi))
     {
-      int indx = phi_arg_from_edge (phi, rd->outgoing_edge);
-      add_phi_arg (&phi, PHI_ARG_DEF_TREE (phi, indx), e);
+      int indx = rd->outgoing_edge->dest_idx;
+      add_phi_arg (phi, PHI_ARG_DEF_TREE (phi, indx), e);
     }
 }