summaryrefslogtreecommitdiff
path: root/gcc/cfg.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-07-20 15:14:36 -0700
committerRichard Henderson <rth@gcc.gnu.org>2011-07-20 15:14:36 -0700
commit510a442a352a425d86dcd0995ceafd7a4e5dd3db (patch)
tree12e5ece87d8bf4aec813974464481c9479dc8ed6 /gcc/cfg.c
parent00b40d0da26a32c18f696c8f301b51f55960d155 (diff)
downloadgcc-510a442a352a425d86dcd0995ceafd7a4e5dd3db.tar.gz
Dump basic_block flags.
From-SVN: r176537
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r--gcc/cfg.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c
index 5b1dc2649f1..00d1d5cb7d8 100644
--- a/gcc/cfg.c
+++ b/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);