diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-06 06:38:09 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-09-06 06:38:09 +0000 |
commit | f7390b74aedeae19b1d2c84fefd67c41095ec01f (patch) | |
tree | f8d0ac6cc16986de424aa4ea95e5b1704be7860a /gcc/cfg.c | |
parent | b4e7b9fefd966f3654c990f2f84f98d81470e755 (diff) | |
download | gcc-f7390b74aedeae19b1d2c84fefd67c41095ec01f.tar.gz |
cfg.c (dump_bb_info, dump_edge_info): Added cfun test for
robustness.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128176 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r-- | gcc/cfg.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c index e397bf50b36..c1d93b64678 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -534,9 +534,11 @@ dump_bb_info (basic_block bb, bool header, bool footer, int flags, fprintf (file, ", loop_depth %d, count ", bb->loop_depth); fprintf (file, HOST_WIDEST_INT_PRINT_DEC, bb->count); fprintf (file, ", freq %i", bb->frequency); - if (maybe_hot_bb_p (bb)) + /* Both maybe_hot_bb_p & probably_never_executed_bb_p functions + crash without cfun. */ + if (cfun && maybe_hot_bb_p (bb)) fprintf (file, ", maybe hot"); - if (probably_never_executed_bb_p (bb)) + if (cfun && probably_never_executed_bb_p (bb)) fprintf (file, ", probably never executed"); fprintf (file, ".\n"); @@ -665,10 +667,10 @@ void dump_edge_info (FILE *file, edge e, int do_succ) { basic_block side = (do_succ ? e->dest : e->src); - - if (side == ENTRY_BLOCK_PTR) + /* both ENTRY_BLOCK_PTR & EXIT_BLOCK_PTR depend upon cfun */ + if (cfun && side == ENTRY_BLOCK_PTR) fputs (" ENTRY", file); - else if (side == EXIT_BLOCK_PTR) + else if (cfun && side == EXIT_BLOCK_PTR) fputs (" EXIT", file); else fprintf (file, " %d", side->index); |