aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-03-10 21:36:35 +0000
committerJeff Law <law@gcc.gnu.org>1999-03-10 14:36:35 -0700
commit3524fe03395ca14f1ab9d86addef627c275c1be6 (patch)
tree8c308cd284bebe784c09664edd41e9ff4a804312 /gcc
parentb5ce41ff0f8655782069932f963f7ed7c183182f (diff)
downloadgcc-3524fe03395ca14f1ab9d86addef627c275c1be6.zip
gcc-3524fe03395ca14f1ab9d86addef627c275c1be6.tar.gz
gcc-3524fe03395ca14f1ab9d86addef627c275c1be6.tar.bz2
gcse.c (compute_pre_local_properties): Delete.
* gcse.c (compute_pre_local_properties): Delete. (compute_pre_data): Use compute_local_properties instead of compute_pre_local_properties. From-SVN: r25678
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/gcse.c75
2 files changed, 5 insertions, 74 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd42221..d74b95f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/gcse.c b/gcc/gcse.c
index ede35b4..a522755 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -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 ();