diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b530a2bcad2b907a8652150a974ef98b6d3338b7..8672db8ddc1a75297f966985979d08bb5591e6f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -36,6 +36,13 @@
 	* tree-phinodes.c (remove_phi_arg_num): Make it static.
 	* tree-flow.h: Remove the corresponding prototype.
 
+	* tree-ssa.c (ssa_remove_edge): Remove.
+	* tree-flow.h: Remove the corresponding prototype.
+	* tree-cfg.c: Replace ssa_remove_edge with remove_edge.
+	* basic-block.h: Likewise.
+	* tree-if-conv.c: Likewise.
+	* tree-ssa-threadupdate.c: Likewise.
+
 2004-11-23  Ben Elliston  <bje@au.ibm.com>
 
 	* doc/cfg.texi (Maintaining the CFG): Use @ftable instead of
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 2b1294fc8ecdf5444113ccf81240cdf195a6af0c..614dc88ffdd80b93bd490d6b835fcac7100d2f76 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -621,7 +621,7 @@ ei_safe_edge (edge_iterator i)
    FOR (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); )
      {
 	IF (e != taken_edge)
-	  ssa_remove_edge (e);
+	  remove_edge (e);
 	ELSE
 	  ei_next (&ei);
      }
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index b7097ebce0773a75ec2c7c4fc84005c042ce7cea..e9c58d418c7010b9b2b65260d0c112540679104f 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -1972,7 +1972,7 @@ remove_phi_nodes_and_edges_for_unreachable_block (basic_block bb)
 
   /* Remove edges to BB's successors.  */
   while (EDGE_COUNT (bb->succs) > 0)
-    ssa_remove_edge (EDGE_SUCC (bb, 0));
+    remove_edge (EDGE_SUCC (bb, 0));
 }
 
 
@@ -2109,7 +2109,7 @@ cleanup_control_expr_graph (basic_block bb, block_stmt_iterator bsi)
 	    {
 	      taken_edge->probability += e->probability;
 	      taken_edge->count += e->count;
-	      ssa_remove_edge (e);
+	      remove_edge (e);
 	      retval = true;
 	    }
 	  else
@@ -5294,7 +5294,7 @@ tree_purge_dead_eh_edges (basic_block bb)
     {
       if (e->flags & EDGE_EH)
 	{
-	  ssa_remove_edge (e);
+	  remove_edge (e);
 	  changed = true;
 	}
       else
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index 7ea17ea3628cff76c9bab6016b2693a57193a492..45e2096f03b7d05219106408f22bde6e22206eae 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -572,7 +572,6 @@ extern void debug_tree_ssa (void);
 extern void debug_def_blocks (void);
 extern void dump_tree_ssa_stats (FILE *);
 extern void debug_tree_ssa_stats (void);
-extern void ssa_remove_edge (edge);
 extern edge ssa_redirect_edge (edge, basic_block);
 extern void flush_pending_stmts (edge);
 extern bool tree_ssa_useless_type_conversion (tree);
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 3c2a1d0cb69533324d74bce7858fd167b54f00e1..076eca9828dee964a0bf7a5eac9b5a756c5156b4 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -889,9 +889,9 @@ combine_blocks (struct loop *loop)
 
       /* It is time to remove this basic block.	 First remove edges.  */
       while (EDGE_COUNT (bb->succs) > 0)
-	ssa_remove_edge (EDGE_SUCC (bb, 0));
+	remove_edge (EDGE_SUCC (bb, 0));
       while (EDGE_COUNT (bb->preds) > 0)
-	ssa_remove_edge (EDGE_PRED (bb, 0));
+	remove_edge (EDGE_PRED (bb, 0));
 
       /* Remove labels and make stmts member of loop->header.  */
       for (bsi = bsi_start (bb); !bsi_end_p (bsi); )
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c
index 7d2788d6ae3a5102519ab5cb65de670b5a230120..f10dc3ddff19b7d96ba32d23566eb9065cd685d8 100644
--- a/gcc/tree-ssa-threadupdate.c
+++ b/gcc/tree-ssa-threadupdate.c
@@ -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);
     }
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 14a8b90398175d6bb94625a56dd94a866882fce2..6712977190456c51263ab8fc97306253fc1ac116 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -46,16 +46,6 @@ Boston, MA 02111-1307, USA.  */
 #include "tree-dump.h"
 #include "tree-pass.h"
 
-
-/* Remove edge E and remove the corresponding arguments from the PHI nodes
-   in E's destination block.  */
-
-void
-ssa_remove_edge (edge e)
-{
-  remove_edge (e);
-}
-
 /* Remove the corresponding arguments from the PHI nodes in E's
    destination block and redirect it to DEST.  Return redirected edge.
    The list of removed arguments is stored in PENDING_STMT (e).  */