aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-02-26 18:27:52 +0100
committerMartin Liska <marxin@gcc.gnu.org>2019-02-26 17:27:52 +0000
commit60448173c4fc67032eb30e6e189055d7c97ceafd (patch)
tree4418776fc5d2c76154a2e422ee0e2dbd0379bf37 /gcc
parent24f0c84247c433826b6309b59151985d1e8893d5 (diff)
downloadgcc-60448173c4fc67032eb30e6e189055d7c97ceafd.zip
gcc-60448173c4fc67032eb30e6e189055d7c97ceafd.tar.gz
gcc-60448173c4fc67032eb30e6e189055d7c97ceafd.tar.bz2
Improve memory statistics report readability.
2019-02-26 Martin Liska <mliska@suse.cz> * alloc-pool.h (struct pool_usage): Remove extra print_dash_line. * bitmap.h (struct bitmap_usage): Likewise. * ggc-common.c (struct ggc_usage): Likewise. * mem-stats.h (struct mem_usage): Likewise. (mem_alloc_description::dump): Print dash lines here and repeat header at the end of a table report. It's then more readable. * tree-phinodes.c (phinodes_print_statistics): Make horizontal alignment. * tree-ssanames.c (ssanames_print_statistics): Likewise. * vec.c (struct vec_usage): Remove extra print_dash_line. * vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT. 2019-02-26 Martin Liska <mliska@suse.cz> * symtab.c (ht_dump_statistics): Make horizontal alignment for statistics. From-SVN: r269221
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/alloc-pool.h3
-rw-r--r--gcc/bitmap.h1
-rw-r--r--gcc/ggc-common.c3
-rw-r--r--gcc/mem-stats.h9
-rw-r--r--gcc/tree-phinodes.c4
-rw-r--r--gcc/tree-ssanames.c4
-rw-r--r--gcc/vec.c3
-rw-r--r--gcc/vec.h2
9 files changed, 27 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8730434..8c07ccf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,19 @@
+2019-02-26 Martin Liska <mliska@suse.cz>
+
+ * alloc-pool.h (struct pool_usage): Remove extra
+ print_dash_line.
+ * bitmap.h (struct bitmap_usage): Likewise.
+ * ggc-common.c (struct ggc_usage): Likewise.
+ * mem-stats.h (struct mem_usage): Likewise.
+ (mem_alloc_description::dump): Print dash lines
+ here and repeat header at the end of a table report.
+ It's then more readable.
+ * tree-phinodes.c (phinodes_print_statistics): Make
+ horizontal alignment.
+ * tree-ssanames.c (ssanames_print_statistics): Likewise.
+ * vec.c (struct vec_usage): Remove extra print_dash_line.
+ * vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT.
+
2019-02-26 Uroš Bizjak <ubizjak@gmail.com>
* doc/extend.texi (__builtin_object_size):
diff --git a/gcc/alloc-pool.h b/gcc/alloc-pool.h
index 4af926d..d320810 100644
--- a/gcc/alloc-pool.h
+++ b/gcc/alloc-pool.h
@@ -83,17 +83,14 @@ struct pool_usage: public mem_usage
{
fprintf (stderr, "%-32s%-48s %6s%11s%16s%17s%12s\n", "Pool name", name,
"Pools", "Leak", "Peak", "Times", "Elt size");
- print_dash_line ();
}
/* Dump footer. */
inline void
dump_footer ()
{
- print_dash_line ();
fprintf (stderr, "%s" PRsa(82) PRsa(10) "\n", "Total",
SIZE_AMOUNT (m_instances), SIZE_AMOUNT (m_allocated));
- print_dash_line ();
}
/* Element size. */
diff --git a/gcc/bitmap.h b/gcc/bitmap.h
index 11c75e9..ed25c1e 100644
--- a/gcc/bitmap.h
+++ b/gcc/bitmap.h
@@ -258,7 +258,6 @@ struct bitmap_usage: public mem_usage
{
fprintf (stderr, "%-48s %11s%16s%17s%12s%12s%10s\n", name, "Leak", "Peak",
"Times", "N searches", "Search iter", "Type");
- print_dash_line ();
}
/* Number search operations. */
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index 9a12fad..0d1e5bf 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -910,9 +910,7 @@ struct ggc_usage: public mem_usage
inline void
dump_footer ()
{
- print_dash_line ();
dump ("Total", *this);
- print_dash_line ();
}
/* Get balance which is GGC allocation leak. */
@@ -955,7 +953,6 @@ struct ggc_usage: public mem_usage
{
fprintf (stderr, "%-48s %11s%17s%17s%16s%17s\n", name, "Garbage", "Freed",
"Leak", "Overhead", "Times");
- print_dash_line ();
}
/* Freed memory in bytes. */
diff --git a/gcc/mem-stats.h b/gcc/mem-stats.h
index cbc328f..7612e7d 100644
--- a/gcc/mem-stats.h
+++ b/gcc/mem-stats.h
@@ -219,10 +219,8 @@ struct mem_usage
inline void
dump_footer () const
{
- print_dash_line ();
fprintf (stderr, "%s" PRsa (53) PRsa (26) "\n", "Total",
SIZE_AMOUNT (m_allocated), SIZE_AMOUNT (m_times));
- print_dash_line ();
}
/* Return fraction of NOMINATOR and DENOMINATOR in percent. */
@@ -247,7 +245,6 @@ struct mem_usage
{
fprintf (stderr, "%-48s %11s%16s%10s%17s\n", name, "Leak", "Peak",
"Times", "Type");
- print_dash_line ();
}
/* Current number of allocated bytes. */
@@ -631,11 +628,17 @@ mem_alloc_description<T>::dump (mem_alloc_origin origin,
mem_list_t *list = get_list (origin, &length, cmp);
T total = get_sum (origin);
+ T::print_dash_line ();
T::dump_header (mem_location::get_origin_name (origin));
+ T::print_dash_line ();
for (int i = length - 1; i >= 0; i--)
list[i].second->dump (list[i].first, total);
+ T::print_dash_line ();
+ T::dump_header (mem_location::get_origin_name (origin));
+ T::print_dash_line ();
total.dump_footer ();
+ T::print_dash_line ();
XDELETEVEC (list);
diff --git a/gcc/tree-phinodes.c b/gcc/tree-phinodes.c
index 54e1452..d062f4e 100644
--- a/gcc/tree-phinodes.c
+++ b/gcc/tree-phinodes.c
@@ -80,9 +80,9 @@ unsigned int phi_nodes_created;
void
phinodes_print_statistics (void)
{
- fprintf (stderr, "PHI nodes allocated: " PRsa (11) "\n",
+ fprintf (stderr, "%-32s" PRsa (11) "\n", "PHI nodes allocated:",
SIZE_AMOUNT (phi_nodes_created));
- fprintf (stderr, "PHI nodes reused: " PRsa (11) "\n",
+ fprintf (stderr, "%-32s" PRsa (11) "\n", "PHI nodes reused:",
SIZE_AMOUNT (phi_nodes_reused));
}
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
index 51f52bb..c457334 100644
--- a/gcc/tree-ssanames.c
+++ b/gcc/tree-ssanames.c
@@ -112,9 +112,9 @@ fini_ssanames (struct function *fn)
void
ssanames_print_statistics (void)
{
- fprintf (stderr, "SSA_NAME nodes allocated: " PRsa (11) "\n",
+ fprintf (stderr, "%-32s" PRsa (11) "\n", "SSA_NAME nodes allocated:",
SIZE_AMOUNT (ssa_name_nodes_created));
- fprintf (stderr, "SSA_NAME nodes reused: " PRsa (11) "\n",
+ fprintf (stderr, "%-32s" PRsa (11) "\n", "SSA_NAME nodes reused:",
SIZE_AMOUNT (ssa_name_nodes_reused));
}
diff --git a/gcc/vec.c b/gcc/vec.c
index c418cb8..f474922 100644
--- a/gcc/vec.c
+++ b/gcc/vec.c
@@ -98,11 +98,9 @@ struct vec_usage: public mem_usage
inline void
dump_footer ()
{
- print_dash_line ();
fprintf (stderr, "%s" PRsa (64) PRsa (25) PRsa (16) "\n",
"Total", SIZE_AMOUNT (m_allocated),
SIZE_AMOUNT (m_times), SIZE_AMOUNT (m_items));
- print_dash_line ();
}
/* Dump header with NAME. */
@@ -111,7 +109,6 @@ struct vec_usage: public mem_usage
{
fprintf (stderr, "%-48s %10s%11s%16s%10s%17s%11s\n", name, "sizeof(T)",
"Leak", "Peak", "Times", "Leak items", "Peak items");
- print_dash_line ();
}
/* Current number of items allocated. */
diff --git a/gcc/vec.h b/gcc/vec.h
index 4bd9df9..2dbf307 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -739,7 +739,7 @@ inline void
vec_safe_grow_cleared (vec<T, va_heap, vl_ptr> *&v,
unsigned len CXX_MEM_STAT_INFO)
{
- v->safe_grow_cleared (len);
+ v->safe_grow_cleared (len PASS_MEM_STAT);
}