Dump basic_block flags.
From-SVN: r176537
This commit is contained in:
parent
00b40d0da2
commit
510a442a35
3 changed files with 31 additions and 44 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-07-20 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* cfg.c (dump_bb_info): Dump basic_block->flags.
|
||||
* cfgrtl.c (print_rtl_with_bb): Use dump_bb_info.
|
||||
|
||||
2011-07-20 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.c (ix86_decompose_address): Allow only subregs
|
||||
|
|
20
gcc/cfg.c
20
gcc/cfg.c
|
@ -549,6 +549,26 @@ dump_bb_info (basic_block bb, bool header, bool footer, int flags,
|
|||
fputs (", maybe hot", file);
|
||||
if (cfun && probably_never_executed_bb_p (bb))
|
||||
fputs (", probably never executed", file);
|
||||
if (bb->flags)
|
||||
{
|
||||
static const char * const bits[] = {
|
||||
"new", "reachable", "irr_loop", "superblock", "disable_sched",
|
||||
"hot_partition", "cold_partition", "duplicated",
|
||||
"non_local_goto_target", "rtl", "forwarder", "nonthreadable",
|
||||
"modified"
|
||||
};
|
||||
unsigned int flags;
|
||||
|
||||
fputs (", flags:", file);
|
||||
for (flags = bb->flags; flags ; flags &= flags - 1)
|
||||
{
|
||||
unsigned i = ctz_hwi (flags);
|
||||
if (i < ARRAY_SIZE (bits))
|
||||
fprintf (file, " %s", bits[i]);
|
||||
else
|
||||
fprintf (file, " <%d>", i);
|
||||
}
|
||||
}
|
||||
fputs (".\n", file);
|
||||
|
||||
fprintf (file, "%sPredecessors: ", prefix);
|
||||
|
|
50
gcc/cfgrtl.c
50
gcc/cfgrtl.c
|
@ -1664,28 +1664,10 @@ print_rtl_with_bb (FILE *outf, const_rtx rtx_first)
|
|||
for (tmp_rtx = rtx_first; NULL != tmp_rtx; tmp_rtx = NEXT_INSN (tmp_rtx))
|
||||
{
|
||||
int did_output;
|
||||
if ((bb = start[INSN_UID (tmp_rtx)]) != NULL)
|
||||
{
|
||||
edge e;
|
||||
edge_iterator ei;
|
||||
|
||||
fprintf (outf, ";; Start of basic block (");
|
||||
FOR_EACH_EDGE (e, ei, bb->preds)
|
||||
fprintf (outf, " %d", e->src->index);
|
||||
fprintf (outf, ") -> %d\n", bb->index);
|
||||
|
||||
if (df)
|
||||
{
|
||||
df_dump_top (bb, outf);
|
||||
putc ('\n', outf);
|
||||
}
|
||||
FOR_EACH_EDGE (e, ei, bb->preds)
|
||||
{
|
||||
fputs (";; Pred edge ", outf);
|
||||
dump_edge_info (outf, e, 0);
|
||||
fputc ('\n', outf);
|
||||
}
|
||||
}
|
||||
bb = start[INSN_UID (tmp_rtx)];
|
||||
if (bb != NULL)
|
||||
dump_bb_info (bb, true, false, dump_flags, ";; ", outf);
|
||||
|
||||
if (in_bb_p[INSN_UID (tmp_rtx)] == NOT_IN_BB
|
||||
&& !NOTE_P (tmp_rtx)
|
||||
|
@ -1696,29 +1678,9 @@ print_rtl_with_bb (FILE *outf, const_rtx rtx_first)
|
|||
|
||||
did_output = print_rtl_single (outf, tmp_rtx);
|
||||
|
||||
if ((bb = end[INSN_UID (tmp_rtx)]) != NULL)
|
||||
{
|
||||
edge e;
|
||||
edge_iterator ei;
|
||||
|
||||
fprintf (outf, ";; End of basic block %d -> (", bb->index);
|
||||
FOR_EACH_EDGE (e, ei, bb->succs)
|
||||
fprintf (outf, " %d", e->dest->index);
|
||||
fprintf (outf, ")\n");
|
||||
|
||||
if (df)
|
||||
{
|
||||
df_dump_bottom (bb, outf);
|
||||
putc ('\n', outf);
|
||||
}
|
||||
putc ('\n', outf);
|
||||
FOR_EACH_EDGE (e, ei, bb->succs)
|
||||
{
|
||||
fputs (";; Succ edge ", outf);
|
||||
dump_edge_info (outf, e, 1);
|
||||
fputc ('\n', outf);
|
||||
}
|
||||
}
|
||||
bb = end[INSN_UID (tmp_rtx)];
|
||||
if (bb != NULL)
|
||||
dump_bb_info (bb, false, true, dump_flags, ";; ", outf);
|
||||
if (did_output)
|
||||
putc ('\n', outf);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue