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 | |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgrtl.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fafbdb9..d5d0c50 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 30 10:03:02 CEST 2003 Jan Hubicka <jh@suse.cz> + + * cfgrtl.c (verify_flow_info): Accept degenerated condjumps + in cfglayout mode. + Mon Jun 30 09:52:39 CEST 2003 Jan Hubicka <jh@suse.cz> * i386.c (standard_80387_constant_p): Accept TFmode constants too. 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; |