]> gcc.gnu.org Git - gcc.git/commitdiff
tree-outof-ssa.c (analyze_edges_for_bb): Make the return type void.
authorKazu Hirata <kazu@cs.umass.edu>
Thu, 10 Mar 2005 17:58:23 +0000 (17:58 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Thu, 10 Mar 2005 17:58:23 +0000 (17:58 +0000)
* tree-outof-ssa.c (analyze_edges_for_bb): Make the return
type void.
(perform_edge_inserts): Unconditionally call
free_dominator_info.

From-SVN: r96249

gcc/ChangeLog
gcc/tree-outof-ssa.c

index 22849e206f603451cc6d7cf9911a99ce22747c46..7244aa081fc99ccfe98583fb6970f4cae443803f 100644 (file)
@@ -1,3 +1,10 @@
+2005-03-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-outof-ssa.c (analyze_edges_for_bb): Make the return
+       type void.
+       (perform_edge_inserts): Unconditionally call
+       free_dominator_info.
+
 2005-03-10  Bob Wilson  <bob.wilson@acm.org>
 
        * config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Define.
index 651397126d8a7110d1b243bb8c0ff8d193843daf..f70ed082381f5193e826603e2be8b07196b3aeaf 100644 (file)
@@ -2026,7 +2026,7 @@ identical_stmt_lists_p (edge e1, edge e2)
    any debug information to DEBUG_FILE.  Return true if anything other than a 
    standard edge insertion is done.  */
 
-static bool 
+static void
 analyze_edges_for_bb (basic_block bb, FILE *debug_file)
 {
   edge e;
@@ -2057,7 +2057,7 @@ analyze_edges_for_bb (basic_block bb, FILE *debug_file)
       FOR_EACH_EDGE (e, ei, bb->preds)
        if (PENDING_STMT (e))
          bsi_commit_one_edge_insert (e, NULL);
-      return false;
+      return;
     }
   /* Find out how many edges there are with interesting pending stmts on them.  
      Commit the stmts on edges we are not interested in.  */
@@ -2094,7 +2094,7 @@ analyze_edges_for_bb (basic_block bb, FILE *debug_file)
     {
       if (single_edge)
         bsi_commit_one_edge_insert (single_edge, NULL);
-      return false;
+      return;
     }
 
   /* Ensure that we have empty worklists.  */
@@ -2156,7 +2156,7 @@ analyze_edges_for_bb (basic_block bb, FILE *debug_file)
       VARRAY_POP_ALL (edge_leader);
       VARRAY_POP_ALL (stmt_list);
       bitmap_clear (leader_has_match);
-      return false;
+      return;
     }
 
 
@@ -2221,8 +2221,6 @@ analyze_edges_for_bb (basic_block bb, FILE *debug_file)
   VARRAY_POP_ALL (edge_leader);
   VARRAY_POP_ALL (stmt_list);
   bitmap_clear (leader_has_match);
-
-  return true;
 }
 
 
@@ -2236,26 +2234,26 @@ static void
 perform_edge_inserts (FILE *dump_file)
 {
   basic_block bb;
-  bool changed = false;
 
   if (dump_file)
     fprintf(dump_file, "Analyzing Edge Insertions.\n");
 
+  /* analyze_edges_for_bb calls make_forwarder_block, which tries to
+     incrementally update the dominator information.  Since we don't
+     need dominator information after this pass, go ahead and free the
+     dominator information.  */
+  free_dominance_info (CDI_DOMINATORS);
+  free_dominance_info (CDI_POST_DOMINATORS);
+
   FOR_EACH_BB (bb)
-    changed |= analyze_edges_for_bb (bb, dump_file);
+    analyze_edges_for_bb (bb, dump_file);
 
-  changed |= analyze_edges_for_bb (EXIT_BLOCK_PTR, dump_file);
+  analyze_edges_for_bb (EXIT_BLOCK_PTR, dump_file);
 
   /* Clear out any tables which were created.  */
   edge_leader = NULL;
   BITMAP_FREE (leader_has_match);
 
-  if (changed)
-    {
-      free_dominance_info (CDI_DOMINATORS);
-      free_dominance_info (CDI_POST_DOMINATORS);
-    }
-
 #ifdef ENABLE_CHECKING
   {
     edge_iterator ei;
This page took 0.112209 seconds and 5 git commands to generate.