From 3cf5441285f6cbe220ae11903f45b99ed8932054 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 30 Jun 2003 10:04:24 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/cfgrtl.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fafbdb97b7b..d5d0c50d795 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 30 10:03:02 CEST 2003 Jan Hubicka + + * cfgrtl.c (verify_flow_info): Accept degenerated condjumps + in cfglayout mode. + Mon Jun 30 09:52:39 CEST 2003 Jan Hubicka * i386.c (standard_80387_constant_p): Accept TFmode constants too. diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index d37666d9e57..f1dedde0c03 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;