diff options
author | Jan Hubicka <jh@suse.cz> | 2003-06-30 10:04:24 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-06-30 08:04:24 +0000 |
commit | 3cf5441285f6cbe220ae11903f45b99ed8932054 (patch) | |
tree | 847cd87faef7585b5efe77617a13a659c98d57f4 /gcc/cfgrtl.c | |
parent | 1f48e56d098e957e5ed2e40cdd21ad8262679993 (diff) | |
download | gcc-3cf5441285f6cbe220ae11903f45b99ed8932054.zip gcc-3cf5441285f6cbe220ae11903f45b99ed8932054.tar.gz gcc-3cf5441285f6cbe220ae11903f45b99ed8932054.tar.bz2 |
cfgrtl.c (verify_flow_info): Accept degenerated condjumps in cfglayout mode.
* cfgrtl.c (verify_flow_info): Accept degenerated condjumps
in cfglayout mode.
From-SVN: r68694
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r-- | gcc/cfgrtl.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index d37666d..f1dedde 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -1823,7 +1823,7 @@ rtl_verify_flow_info_1 (void) FOR_EACH_BB_REVERSE (bb) { int n_fallthru = 0, n_eh = 0, n_call = 0, n_abnormal = 0, n_branch = 0; - edge e; + edge e, fallthru = NULL; rtx note; if (INSN_P (bb->end) @@ -1841,7 +1841,7 @@ rtl_verify_flow_info_1 (void) for (e = bb->succ; e; e = e->succ_next) { if (e->flags & EDGE_FALLTHRU) - n_fallthru++; + n_fallthru++, fallthru = e; if ((e->flags & ~(EDGE_DFS_BACK | EDGE_CAN_FALLTHRU | EDGE_IRREDUCIBLE_LOOP)) == 0) n_branch++; @@ -1880,7 +1880,7 @@ rtl_verify_flow_info_1 (void) err = 1; } if (n_branch != 1 && any_condjump_p (bb->end) - && JUMP_LABEL (bb->end) != bb->next_bb->head) + && JUMP_LABEL (bb->end) != fallthru->dest->head) { error ("Wrong amount of branch edges after conditional jump %i", bb->index); err = 1; |