cfganal.c (can_fallthru): Fix fast path.
authorJan Hubicka <jh@suse.cz>
Thu, 9 May 2002 12:56:47 +0000 (14:56 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 9 May 2002 12:56:47 +0000 (12:56 +0000)
* cfganal.c (can_fallthru): Fix fast path.
* cfgrtl.c (verify_flow_info): Avoid crash on conditionals
with edges to the next block.

From-SVN: r53327

gcc/ChangeLog
gcc/cfganal.c
gcc/cfgrtl.c

index 5100e79..881dfe7 100644 (file)
@@ -1,3 +1,9 @@
+Thu May  9 14:55:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfganal.c (can_fallthru): Fix fast path.
+       * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
+       with edges to the next block.
+
 Thu May  9 14:52:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
                               Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
 
index 46c4758..f70c6c7 100644 (file)
@@ -87,7 +87,10 @@ can_fallthru (src, target)
   rtx insn = src->end;
   rtx insn2 = target->head;
 
-  if (src->index + 1 == target->index && !active_insn_p (insn2))
+  if (src->index + 1 != target->index)
+    return 0;
+
+  if (!active_insn_p (insn2))
     insn2 = next_active_insn (insn2);
 
   /* ??? Later we may add code to move jump tables offline.  */
index d96f677..cd3369c 100644 (file)
@@ -1782,6 +1782,7 @@ verify_flow_info ()
 
       if (INSN_P (bb->end)
          && (note = find_reg_note (bb->end, REG_BR_PROB, NULL_RTX))
+         && bb->succ && bb->succ->succ_next
          && any_condjump_p (bb->end))
        {
          if (INTVAL (XEXP (note, 0)) != BRANCH_EDGE (bb)->probability)