summaryrefslogtreecommitdiff
path: root/gcc/ggc-page.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-11-05 14:36:29 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-11-05 13:36:29 +0000
commit40ce7fa6dd38f8ac26d576c84f5dbe4362aa902b (patch)
tree94fa1f477283ce96ec503e9878181a2db6833334 /gcc/ggc-page.c
parent00e6775a5faa43702e96e315e7a1c22297983f2a (diff)
Come up with SIZE_AMOUNT and use it in memory statistics and sort stats.
2018-11-05 Martin Liska <mliska@suse.cz> * alloc-pool.h (struct pool_usage): Use SIZE_AMOUNT. * bitmap.h (struct bitmap_usage): Likewise. * ggc-common.c (SCALE): Remove. (LABEL): Likewise. (struct ggc_usage): Use SIZE_AMOUNT. And update compare method. * ggc-page.c (SCALE): Remove. (STAT_LABEL): Remove. (ggc_print_statistics): Use SIZE_AMOUNT. * gimple.h (SCALE): Remove. (LABEL): Likewise. * input.c (ONE_K): Remove. (ONE_M): Likewise. (SCALE): Likewise. (STAT_LABEL): Likewise. (FORMAT_AMOUNT): Likewise. (dump_line_table_statistics): Use SIZE_AMOUNT. * mem-stats.h (struct mem_usage): Likewise. * rtl.c (dump_rtx_statistics): Likewise. (rtx_alloc_counts): Change type to size_t. (rtx_alloc_sizes): Likewise. (rtx_count_cmp): New. (dump_rtx_statistics): Sort first based on counts. * tree.c (tree_nodes_cmp): New. (tree_codes_cmp): New. (dump_tree_statistics): Sort first based on counts. * system.h (ONE_K): New. (ONE_M): Likewise. (SIZE_SCALE): Likewise. (SIZE_LABEL): Likewise. (SIZE_AMOUNT): Likewise. * tree-cfg.c (dump_cfg_stats): Use SIZE_AMOUNT. * tree-dfa.c (dump_dfa_stats): Likewise. * tree-phinodes.c (phinodes_print_statistics): Likewise. * tree-ssanames.c (ssanames_print_statistics): Likewise. * tree.c (dump_tree_statistics): Likewise. * vec.c (struct vec_usage): Likewise. * trans-mem.c (tm_mangle): Enlarge buffer in order to not trigger a -Werror=format-overflow with --enable-gather-detailed-stats. From-SVN: r265800
Diffstat (limited to 'gcc/ggc-page.c')
-rw-r--r--gcc/ggc-page.c86
1 files changed, 43 insertions, 43 deletions
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index 51783e51356..00c2864711f 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -2237,14 +2237,6 @@ ggc_grow (void)
fprintf (stderr, " {GC start %luk} ", (unsigned long) G.allocated / 1024);
}
-/* Print allocation statistics. */
-#define SCALE(x) ((unsigned long) ((x) < 1024*10 \
- ? (x) \
- : ((x) < 1024*1024*10 \
- ? (x) / 1024 \
- : (x) / (1024*1024))))
-#define STAT_LABEL(x) ((x) < 1024*10 ? ' ' : ((x) < 1024*1024*10 ? 'k' : 'M'))
-
void
ggc_print_statistics (void)
{
@@ -2296,53 +2288,61 @@ ggc_print_statistics (void)
overhead += (sizeof (page_entry) - sizeof (long)
+ BITMAP_SIZE (OBJECTS_IN_PAGE (p) + 1));
}
- fprintf (stderr, "%-8lu %10lu%c %10lu%c %10lu%c\n",
- (unsigned long) OBJECT_SIZE (i),
- SCALE (allocated), STAT_LABEL (allocated),
- SCALE (in_use), STAT_LABEL (in_use),
- SCALE (overhead), STAT_LABEL (overhead));
+ fprintf (stderr, "%-8zu %10zu%c %10zu%c %10zu%c\n",
+ OBJECT_SIZE (i),
+ SIZE_AMOUNT (allocated),
+ SIZE_AMOUNT (in_use),
+ SIZE_AMOUNT (overhead));
total_overhead += overhead;
}
- fprintf (stderr, "%-8s %10lu%c %10lu%c %10lu%c\n", "Total",
- SCALE (G.bytes_mapped), STAT_LABEL (G.bytes_mapped),
- SCALE (G.allocated), STAT_LABEL (G.allocated),
- SCALE (total_overhead), STAT_LABEL (total_overhead));
+ fprintf (stderr, "%-8s %10zu%c %10zu%c %10zu%c\n",
+ "Total",
+ SIZE_AMOUNT (G.bytes_mapped),
+ SIZE_AMOUNT (G.allocated),
+ SIZE_AMOUNT (total_overhead));
if (GATHER_STATISTICS)
{
fprintf (stderr, "\nTotal allocations and overheads during "
"the compilation process\n");
- fprintf (stderr, "Total Overhead: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_overhead);
- fprintf (stderr, "Total Allocated: %10"
- HOST_LONG_LONG_FORMAT "d\n",
- G.stats.total_allocated);
-
- fprintf (stderr, "Total Overhead under 32B: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_overhead_under32);
- fprintf (stderr, "Total Allocated under 32B: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_allocated_under32);
- fprintf (stderr, "Total Overhead under 64B: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_overhead_under64);
- fprintf (stderr, "Total Allocated under 64B: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_allocated_under64);
- fprintf (stderr, "Total Overhead under 128B: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_overhead_under128);
- fprintf (stderr, "Total Allocated under 128B: %10"
- HOST_LONG_LONG_FORMAT "d\n", G.stats.total_allocated_under128);
+ fprintf (stderr, "Total Overhead: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_overhead));
+ fprintf (stderr, "Total Allocated: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_allocated));
+
+ fprintf (stderr, "Total Overhead under 32B: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_overhead_under32));
+ fprintf (stderr, "Total Allocated under 32B: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_allocated_under32));
+ fprintf (stderr, "Total Overhead under 64B: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_overhead_under64));
+ fprintf (stderr, "Total Allocated under 64B: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_allocated_under64));
+ fprintf (stderr, "Total Overhead under 128B: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_overhead_under128));
+ fprintf (stderr, "Total Allocated under 128B: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ SIZE_AMOUNT (G.stats.total_allocated_under128));
for (i = 0; i < NUM_ORDERS; i++)
if (G.stats.total_allocated_per_order[i])
{
- fprintf (stderr, "Total Overhead page size %9lu: %10"
- HOST_LONG_LONG_FORMAT "d\n",
- (unsigned long) OBJECT_SIZE (i),
- G.stats.total_overhead_per_order[i]);
- fprintf (stderr, "Total Allocated page size %9lu: %10"
- HOST_LONG_LONG_FORMAT "d\n",
- (unsigned long) OBJECT_SIZE (i),
- G.stats.total_allocated_per_order[i]);
+ fprintf (stderr, "Total Overhead page size %9zu: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ OBJECT_SIZE (i),
+ SIZE_AMOUNT (G.stats.total_overhead_per_order[i]));
+ fprintf (stderr, "Total Allocated page size %9zu: %9"
+ HOST_LONG_LONG_FORMAT "d%c\n",
+ OBJECT_SIZE (i),
+ SIZE_AMOUNT (G.stats.total_allocated_per_order[i]));
}
}
}