Print 2 digits after decimal delimiter for BB frequencies

* gimple-pretty-print.c (dump_probability): New function.
	(dump_edge_probability): Use the function.
	(dump_gimple_label): Likewise.
	(dump_gimple_bb_header): Likewise.
	* gcc.dg/tree-ssa/20040703-1.c: Update scanned pattern.
	* gcc.dg/tree-ssa/dump-2.c: Likewise.

From-SVN: r243643
This commit is contained in:
Martin Liska 2016-12-14 11:33:10 +01:00 committed by Martin Liska
parent ca3b607159
commit e19ef86d01
5 changed files with 41 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2016-12-14 Martin Liska <mliska@suse.cz>
* gimple-pretty-print.c (dump_probability): New function.
(dump_edge_probability): Use the function.
(dump_gimple_label): Likewise.
(dump_gimple_bb_header): Likewise.
2016-12-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Jakub Jelinek <jakub@redhat.com>

View File

@ -73,13 +73,35 @@ debug_gimple_stmt (gimple *gs)
print_gimple_stmt (stderr, gs, 0, TDF_VOPS|TDF_MEMSYMS);
}
/* Return formatted string of a VALUE probability
(biased by REG_BR_PROB_BASE). Returned string is allocated
by xstrdup_for_dump. */
static const char *
dump_probability (int value)
{
float minimum = 0.01f;
gcc_assert (0 <= value && value <= REG_BR_PROB_BASE);
float fvalue = value * 100.0f / REG_BR_PROB_BASE;
if (fvalue < minimum && value > 0)
return "[0.01%]";
char *buf;
asprintf (&buf, "[%.2f%%]", fvalue);
const char *ret = xstrdup_for_dump (buf);
free (buf);
return ret;
}
/* Dump E probability to BUFFER. */
static void
dump_edge_probability (pretty_printer *buffer, edge e)
{
pp_scalar (buffer, " [%.1f%%]",
e->probability * 100.0 / REG_BR_PROB_BASE);
pp_scalar (buffer, " %s", dump_probability (e->probability));
}
/* Print GIMPLE statement G to FILE using SPC indentation spaces and
@ -1032,8 +1054,7 @@ dump_gimple_label (pretty_printer *buffer, glabel *gs, int spc, int flags)
dump_generic_node (buffer, label, spc, flags, false);
basic_block bb = gimple_bb (gs);
if (bb && !(flags & TDF_GIMPLE))
pp_scalar (buffer, " [%.1f%%]",
bb->frequency * 100.0 / REG_BR_PROB_BASE);
pp_scalar (buffer, " %s", dump_probability (bb->frequency));
pp_colon (buffer);
}
if (flags & TDF_GIMPLE)
@ -2599,8 +2620,8 @@ dump_gimple_bb_header (FILE *outf, basic_block bb, int indent, int flags)
if (flags & TDF_GIMPLE)
fprintf (outf, "%*sbb_%d:\n", indent, "", bb->index);
else
fprintf (outf, "%*s<bb %d> [%.1f%%]:\n", indent, "", bb->index,
bb->frequency * 100.0 / REG_BR_PROB_BASE);
fprintf (outf, "%*s<bb %d> %s:\n",
indent, "", bb->index, dump_probability (bb->frequency));
}
}
}

View File

@ -1,3 +1,8 @@
2016-12-14 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/20040703-1.c: Update scanned pattern.
* gcc.dg/tree-ssa/dump-2.c: Likewise.
2016-12-14 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/msa-builtins-err.c (dg-options): Add

View File

@ -9,4 +9,4 @@ float foo(float x)
}
/* We should *not* fold the arithmetic. */
/* { dg-final { scan-tree-dump-times "0\\.0\[^%\]" 0 "dom2"} } */
/* { dg-final { scan-tree-dump-times "0\\.0\[^%0\]" 0 "dom2"} } */

View File

@ -6,4 +6,4 @@ int f(void)
return 0;
}
/* { dg-final { scan-tree-dump "<bb \[0-9\]> \\\[100\\\.0%\\\]:" "optimized" } } */
/* { dg-final { scan-tree-dump "<bb \[0-9\]> \\\[100\\\.00%\\\]:" "optimized" } } */