basic-block.h (dump_edge_info): Declare.
authorDiego Novillo <dnovillo@redhat.com>
Fri, 22 Jun 2001 22:20:42 +0000 (22:20 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Fri, 22 Jun 2001 22:20:42 +0000 (18:20 -0400)
2001-06-22  Diego Novillo  <dnovillo@redhat.com>

* basic-block.h (dump_edge_info): Declare.
(clear_edges): Declare.
(mark_critical_edges): Declare.
* flow.c (dump_edge_info): Remove static declaration.
(clear_edges): Ditto.
(mark_critical_edges): Ditto.
(free_basic_block_vars): Only clear edges and free basic block
array if basic_block_info is not NULL.
* ssa.c (compute_dominance_frontiers): Remove static declaration.
* ssa.h (compute_dominance_frontiers): Declare.

From-SVN: r43518

gcc/ChangeLog
gcc/basic-block.h
gcc/flow.c
gcc/ssa.c
gcc/ssa.h

index 323b21bbc8c9c3ea6cb9850aff8650cf34dc695c..057efe45598ea464a61f9db948e11458963a199b 100644 (file)
@@ -1,3 +1,16 @@
+2001-06-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * basic-block.h (dump_edge_info): Declare.
+       (clear_edges): Declare.
+       (mark_critical_edges): Declare.
+       * flow.c (dump_edge_info): Remove static declaration.
+       (clear_edges): Ditto.
+       (mark_critical_edges): Ditto.
+       (free_basic_block_vars): Only clear edges and free basic block
+       array if basic_block_info is not NULL.
+       * ssa.c (compute_dominance_frontiers): Remove static declaration.
+       * ssa.h (compute_dominance_frontiers): Declare.
+
 2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
 
        * predict.c: (expected_value_to_br_prob): Check for const_true_rtx
index c41ee322a0eba6372a8d0e135a7b8912acf4cc50..515d222c2b5fd68b4ebf0eb160b686844700564f 100644 (file)
@@ -290,6 +290,9 @@ extern int flow_delete_block                PARAMS ((basic_block));
 extern void merge_blocks_nomove                PARAMS ((basic_block, basic_block));
 extern void tidy_fallthru_edge         PARAMS ((edge, basic_block,
                                                 basic_block));
+extern void dump_edge_info             PARAMS ((FILE *, edge, int));
+extern void clear_edges                        PARAMS ((void));
+extern void mark_critical_edges                PARAMS ((void));
 
 /* Structure to hold information for each natural loop.  */
 struct loop
index b3d4327847708b792147408cb401ea4d879ebc8a..2d7ee8047d943b84b33d66a164968d3f725c4611 100644 (file)
@@ -364,12 +364,10 @@ typedef struct depth_first_search_dsS *depth_first_search_ds;
 static int count_basic_blocks          PARAMS ((rtx));
 static void find_basic_blocks_1                PARAMS ((rtx));
 static rtx find_label_refs             PARAMS ((rtx, rtx));
-static void clear_edges                        PARAMS ((void));
 static void make_edges                 PARAMS ((rtx));
 static void make_label_edge            PARAMS ((sbitmap *, basic_block,
                                                 rtx, int));
 static void make_eh_edge               PARAMS ((sbitmap *, basic_block, rtx));
-static void mark_critical_edges                PARAMS ((void));
 
 static void commit_one_edge_insertion  PARAMS ((edge));
 
@@ -434,7 +432,6 @@ static void mark_used_regs          PARAMS ((struct propagate_block_info *,
                                                 rtx, rtx, rtx));
 void dump_flow_info                    PARAMS ((FILE *));
 void debug_flow_info                   PARAMS ((void));
-static void dump_edge_info             PARAMS ((FILE *, edge, int));
 static void print_rtl_and_abort_fcn    PARAMS ((const char *, int,
                                                 const char *))
                                        ATTRIBUTE_NORETURN;
@@ -1118,7 +1115,7 @@ compute_bb_for_insn (max)
 
 /* Free the memory associated with the edge structures.  */
 
-static void
+void
 clear_edges ()
 {
   int i;
@@ -1432,7 +1429,7 @@ make_eh_edge (edge_cache, src, insn)
 
 /* Identify critical edges and set the bits appropriately.  */
 
-static void
+void
 mark_critical_edges ()
 {
   int i, n = n_basic_blocks;
@@ -3094,8 +3091,11 @@ free_basic_block_vars (keep_head_end_p)
 
   if (! keep_head_end_p)
     {
-      clear_edges ();
-      VARRAY_FREE (basic_block_info);
+      if (basic_block_info)
+       {
+         clear_edges ();
+         VARRAY_FREE (basic_block_info);
+       }
       n_basic_blocks = 0;
 
       ENTRY_BLOCK_PTR->aux = NULL;
@@ -6390,7 +6390,7 @@ debug_flow_info ()
   dump_flow_info (stderr);
 }
 
-static void
+void
 dump_edge_info (file, e, do_succ)
      FILE *file;
      edge e;
index 3bb1dff7b8e09b5d7ee5149c15340edb4a9ce846..97e259b3d9f99e48e8029cee9678020dc67a5d0e 100644 (file)
--- a/gcc/ssa.c
+++ b/gcc/ssa.c
@@ -166,8 +166,6 @@ static rtx first_insn_after_basic_block_note
   PARAMS ((basic_block));
 static void compute_dominance_frontiers_1
   PARAMS ((sbitmap *frontiers, int *idom, int bb, sbitmap done));
-static void compute_dominance_frontiers
-  PARAMS ((sbitmap *frontiers, int *idom));
 static void find_evaluations_1
   PARAMS ((rtx dest, rtx set, void *data));
 static void find_evaluations
@@ -558,7 +556,7 @@ compute_dominance_frontiers_1 (frontiers, idom, bb, done)
       }
 }
 
-static void
+void
 compute_dominance_frontiers (frontiers, idom)
      sbitmap *frontiers;
      int *idom;
index 5095319e9978b831f170641d773feab8ac453b64..5eb97855b7035cdbd585fd6442bd5baeaba7598c 100644 (file)
--- a/gcc/ssa.h
+++ b/gcc/ssa.h
@@ -27,6 +27,7 @@ typedef int (*successor_phi_fn)         PARAMS ((rtx, int, int, void *));
 extern int for_each_successor_phi       PARAMS ((basic_block bb,
                                                 successor_phi_fn,
                                                 void *));
+void compute_dominance_frontiers       PARAMS ((sbitmap *frontiers, int *idom));
 extern int remove_phi_alternative      PARAMS ((rtx, basic_block));