OSDN Git Service

* gcse.c (compute_pre_local_properties): Delete.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Mar 1999 21:36:35 +0000 (21:36 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Mar 1999 21:36:35 +0000 (21:36 +0000)
        (compute_pre_data): Use compute_local_properties instead of
        compute_pre_local_properties.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25678 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gcse.c

index bd42221..d74b95f 100644 (file)
@@ -22,6 +22,10 @@ Wed Mar 10 23:11:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 Wed Mar 10 20:28:29 1999  Jeffrey A Law  (law@cygnus.com)
 
+       * gcse.c (compute_pre_local_properties): Delete.
+       (compute_pre_data): Use compute_local_properties instead of
+       compute_pre_local_properties.
+
        * gcse.c: More comments, whitespace and similar fixes.
        (dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
        (dump_pre_data, compute_cprop_local_properties): Likewise.
index ede35b4..a522755 100644 (file)
@@ -577,7 +577,6 @@ static int one_cprop_pass        PROTO ((int, int));
 
 static void alloc_pre_mem           PROTO ((int, int));
 static void free_pre_mem             PROTO ((void));
-static void compute_pre_local_properties PROTO ((void));
 static void compute_pre_avinout       PROTO ((void));
 static void compute_pre_antinout      PROTO ((void));
 static void compute_pre_pavinout      PROTO ((void));
@@ -4000,78 +3999,6 @@ free_pre_mem ()
   free (pre_transpout);
 }
 
-/* Compute the local properties of each recorded expression.
-   Local properties are those that are defined by the block, irrespective
-   of other blocks.
-
-   An expression is transparent in a block if its operands are not modified
-   in the block.
-
-   An expression is computed (locally available) in a block if it is computed
-   at least once and expression would contain the same value if the
-   computation was moved to the end of the block.
-
-   An expression is locally anticipatable in a block if it is computed at
-   least once and expression would contain the same value if the computation
-   was moved to the beginning of the block.  */
-
-static void
-compute_pre_local_properties ()
-{
-  int i;
-
-  sbitmap_vector_ones (pre_transp, n_basic_blocks);
-  sbitmap_vector_zero (pre_comp, n_basic_blocks);
-  sbitmap_vector_zero (pre_antloc, n_basic_blocks);
-
-  for (i = 0; i < expr_hash_table_size; i++)
-    {
-      struct expr *expr;
-
-      for (expr = expr_hash_table[i]; expr != NULL; expr = expr->next_same_hash)
-       {
-         struct occr *occr;
-         int indx = expr->bitmap_index;
-
-         /* The expression is transparent in this block if it is not killed.
-            We start by assuming all are transparent [none are killed], and then
-            reset the bits for those that are.  */
-
-         compute_transp (expr->expr, indx, pre_transp, 0);
-
-         /* The occurrences recorded in antic_occr are exactly those that
-            we want to set to non-zero in ANTLOC.  */
-
-         for (occr = expr->antic_occr; occr != NULL; occr = occr->next)
-           {
-             int bb = BLOCK_NUM (occr->insn);
-             SET_BIT (pre_antloc[bb], indx);
-
-             /* While we're scanning the table, this is a good place to
-                initialize this.  */
-             occr->deleted_p = 0;
-           }
-
-         /* The occurrences recorded in avail_occr are exactly those that
-            we want to set to non-zero in COMP.  */
-
-         for (occr = expr->avail_occr; occr != NULL; occr = occr->next)
-           {
-             int bb = BLOCK_NUM (occr->insn);
-             SET_BIT (pre_comp[bb], indx);
-
-             /* While we're scanning the table, this is a good place to
-                initialize this.  */
-             occr->copied_p = 0;
-           }
-
-         /* While we're scanning the table, this is a good place to
-            initialize this.  */
-         expr->reaching_reg = 0;
-       }
-    }
-}
-
 /* Compute expression availability at entrance and exit of each block.  */
 
 static void
@@ -4337,7 +4264,7 @@ compute_pre_ppinout ()
 static void
 compute_pre_data ()
 {
-  compute_pre_local_properties ();
+  compute_local_properties (pre_transp, pre_comp, pre_antloc, 0);
   compute_pre_avinout ();
   compute_pre_antinout ();
   compute_pre_pavinout ();