summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/ggc-common.c8
-rw-r--r--gcc/ggc.h8
-rw-r--r--gcc/lcm.c21
4 files changed, 26 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c0fca5e8382..b137d7ad38a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -5,6 +5,13 @@ Mon Nov 15 20:46:45 1999 Richard Henderson <rth@cygnus.com>
* flow.c (calculate_global_regs_live): Zero bb->aux to begin.
+ * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
+ for printing.
+ * ggc.h (struct ggc_statistics): Rearrange elements for better
+ packing on 64-bit hosts.
+ * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
+ (compute_nearerout): Likewise.
+
Tue Nov 16 14:37:52 1999 Geoffrey Keating <geoffk@cygnus.com>
* config/rs6000/rs6000.c (first_reg_to_save): Save
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index 1a8aef538f9..bacbcddbd5d 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -563,9 +563,9 @@ ggc_print_statistics (stream, stats)
/ ggc_stats->total_size_trees));
}
fprintf (stream,
- "%-22s%-15u %-15u\n", "Total",
+ "%-22s%-15u %-15lu\n", "Total",
ggc_stats->total_num_trees,
- ggc_stats->total_size_trees);
+ (unsigned long) ggc_stats->total_size_trees);
/* Print the statistics for RTL. */
fprintf (stream, "\n%-22s%-16s%-16s%-7s\n", "Code",
@@ -582,9 +582,9 @@ ggc_print_statistics (stream, stats)
/ ggc_stats->total_size_rtxs));
}
fprintf (stream,
- "%-22s%-15u %-15u\n", "Total",
+ "%-22s%-15u %-15lu\n", "Total",
ggc_stats->total_num_rtxs,
- ggc_stats->total_size_rtxs);
+ (unsigned long) ggc_stats->total_size_rtxs);
/* Don't gather statistics any more. */
diff --git a/gcc/ggc.h b/gcc/ggc.h
index 2c12a139935..3f55a21736b 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -182,14 +182,14 @@ typedef struct ggc_statistics
/* The Ith element is the number of bytes allocated by nodes with
code I. */
size_t size_rtxs[256];
- /* The total number of tree nodes allocated. */
- unsigned total_num_trees;
/* The total size of the tree nodes allocated. */
size_t total_size_trees;
- /* The total number of RTL nodes allocated. */
- unsigned total_num_rtxs;
/* The total size of the RTL nodes allocated. */
size_t total_size_rtxs;
+ /* The total number of tree nodes allocated. */
+ unsigned total_num_trees;
+ /* The total number of RTL nodes allocated. */
+ unsigned total_num_rtxs;
} ggc_statistics;
/* Return the number of bytes allocated at the indicated address. */
diff --git a/gcc/lcm.c b/gcc/lcm.c
index dd900b6132d..a6cdd7d4974 100644
--- a/gcc/lcm.c
+++ b/gcc/lcm.c
@@ -255,7 +255,7 @@ compute_laterin (edge_list, earliest, antloc, later, laterin)
/* Initialize a mapping from each edge to its index. */
for (i = 0; i < num_edges; i++)
- INDEX_EDGE (edge_list, i)->aux = (void *)i;
+ INDEX_EDGE (edge_list, i)->aux = (void *) (size_t) i;
/* We want a maximal solution, so initially consider LATER true for
all edges. This allows propagation through a loop since the incoming
@@ -296,13 +296,13 @@ compute_laterin (edge_list, earliest, antloc, later, laterin)
bb = b->index;
sbitmap_ones (laterin[bb]);
for (e = b->pred; e != NULL; e = e->pred_next)
- sbitmap_a_and_b (laterin[bb], laterin[bb], later[(int)e->aux]);
+ sbitmap_a_and_b (laterin[bb], laterin[bb], later[(size_t)e->aux]);
/* Calculate LATER for all outgoing edges. */
for (e = b->succ; e != NULL; e = e->succ_next)
{
- if (sbitmap_union_of_diff (later[(int)e->aux],
- earliest[(int)e->aux],
+ if (sbitmap_union_of_diff (later[(size_t) e->aux],
+ earliest[(size_t) e->aux],
laterin[e->src->index],
antloc[e->src->index]))
{
@@ -324,7 +324,7 @@ compute_laterin (edge_list, earliest, antloc, later, laterin)
for (e = EXIT_BLOCK_PTR->pred; e != NULL; e = e->pred_next)
sbitmap_a_and_b (laterin[n_basic_blocks],
laterin[n_basic_blocks],
- later[(int)e->aux]);
+ later[(size_t) e->aux]);
free (tos);
}
@@ -600,7 +600,7 @@ compute_nearerout (edge_list, farthest, st_avloc, nearer, nearerout)
/* Initialize NEARER for each edge and build a mapping from an edge to
its index. */
for (i = 0; i < num_edges; i++)
- INDEX_EDGE (edge_list, i)->aux = (void *)i;
+ INDEX_EDGE (edge_list, i)->aux = (void *) (size_t) i;
/* We want a maximal solution. */
sbitmap_vector_ones (nearer, num_edges);
@@ -632,13 +632,14 @@ compute_nearerout (edge_list, farthest, st_avloc, nearer, nearerout)
bb = b->index;
sbitmap_ones (nearerout[bb]);
for (e = b->succ; e != NULL; e = e->succ_next)
- sbitmap_a_and_b (nearerout[bb], nearerout[bb], nearer[(int)e->aux]);
+ sbitmap_a_and_b (nearerout[bb], nearerout[bb],
+ nearer[(size_t) e->aux]);
/* Calculate NEARER for all incoming edges. */
for (e = b->pred; e != NULL; e = e->pred_next)
{
- if (sbitmap_union_of_diff (nearer[(int)e->aux],
- farthest[(int)e->aux],
+ if (sbitmap_union_of_diff (nearer[(size_t) e->aux],
+ farthest[(size_t) e->aux],
nearerout[e->dest->index],
st_avloc[e->dest->index]))
{
@@ -660,7 +661,7 @@ compute_nearerout (edge_list, farthest, st_avloc, nearer, nearerout)
for (e = ENTRY_BLOCK_PTR->succ; e != NULL; e = e->succ_next)
sbitmap_a_and_b (nearerout[n_basic_blocks],
nearerout[n_basic_blocks],
- nearer[(int)e->aux]);
+ nearer[(size_t) e->aux]);
free (tos);
}