+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):
{
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. */
{
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. */
inline void
dump_footer ()
{
- print_dash_line ();
dump ("Total", *this);
- print_dash_line ();
}
/* Get balance which is GGC allocation leak. */
{
fprintf (stderr, "%-48s %11s%17s%17s%16s%17s\n", name, "Garbage", "Freed",
"Leak", "Overhead", "Times");
- print_dash_line ();
}
/* Freed memory in bytes. */
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. */
{
fprintf (stderr, "%-48s %11s%16s%10s%17s\n", name, "Leak", "Peak",
"Times", "Type");
- print_dash_line ();
}
/* Current number of allocated bytes. */
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);
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));
}
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));
}
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. */
{
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. */
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);
}
+2019-02-26 Martin Liska <mliska@suse.cz>
+
+ * symtab.c (ht_dump_statistics): Make
+ horizontal alignment for statistics.
+
2019-02-20 David Malcolm <dmalcolm@redhat.com>
PR c/89410
nelts = table->nelements;
headers = table->nslots * sizeof (hashnode);
- fprintf (stderr, "\nString pool\nentries\t\t%lu\n",
+ fprintf (stderr, "\nString pool\n%-32s%lu\n", "entries:",
(unsigned long) nelts);
- fprintf (stderr, "identifiers\t%lu (%.2f%%)\n",
+ fprintf (stderr, "%-32s%lu (%.2f%%)\n", "identifiers:",
(unsigned long) nids, nids * 100.0 / nelts);
- fprintf (stderr, "slots\t\t%lu\n",
+ fprintf (stderr, "%-32s%lu\n", "slots:",
(unsigned long) table->nslots);
- fprintf (stderr, "deleted\t\t%lu\n",
+ fprintf (stderr, "%-32s%lu\n", "deleted:",
(unsigned long) deleted);
if (table->alloc_subobject)
- fprintf (stderr, "GGC bytes\t%lu%c\n",
+ fprintf (stderr, "%-32s%lu%c\n", "GGC bytes:",
SCALE (total_bytes), LABEL (total_bytes));
else
{
overhead = obstack_memory_used (&table->stack) - total_bytes;
- fprintf (stderr, "obstack bytes\t%lu%c (%lu%c overhead)\n",
+ fprintf (stderr, "%-32s%lu%c (%lu%c overhead)\n",
+ "obstack bytes:",
SCALE (total_bytes), LABEL (total_bytes),
SCALE (overhead), LABEL (overhead));
}
- fprintf (stderr, "table size\t%lu%c\n",
+ fprintf (stderr, "%-32s%lu%c\n", "table size:",
SCALE (headers), LABEL (headers));
exp_len = (double)total_bytes / (double)nelts;
exp2_len = exp_len * exp_len;
exp_len2 = (double) sum_of_squares / (double) nelts;
- fprintf (stderr, "coll/search\t%.4f\n",
+ fprintf (stderr, "%-32s%.4f\n", "coll/search:",
(double) table->collisions / (double) table->searches);
- fprintf (stderr, "ins/search\t%.4f\n",
+ fprintf (stderr, "%-32s%.4f\n", "ins/search:",
(double) nelts / (double) table->searches);
- fprintf (stderr, "avg. entry\t%.2f bytes (+/- %.2f)\n",
+ fprintf (stderr, "%-32s%.2f bytes (+/- %.2f)\n",
+ "avg. entry:",
exp_len, approx_sqrt (exp_len2 - exp2_len));
- fprintf (stderr, "longest entry\t%lu\n",
+ fprintf (stderr, "%-32s%lu\n", "longest entry:",
(unsigned long) longest);
#undef SCALE
#undef LABEL