diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a9ddd4901a83886ce50b213e0a4c9302bf8f312a..e4b54744f9e5c29b329be0d358586359c3444b66 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-26  Richard Henderson  <rth@redhat.com>
+
+	* cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
+	for fallthru search.
+
 2002-04-26  Eric Christopher  <echristo@redhat.com>
 
 	PR optimization/3700
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index a56eea2e9400f6e94056ae5d5efcdd733abcae7d..f5a82383a002557ae08cc814cbebc61c2767f319 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -1104,8 +1104,9 @@ tidy_fallthru_edge (e, b, c)
      So search through a sequence of barriers, labels, and notes for
      the head of block C and assert that we really do fall through.  */
 
-  if (next_real_insn (b->end) != next_real_insn (PREV_INSN (c->head)))
-    return;
+  for (q = NEXT_INSN (b->end); q != c->head; q = NEXT_INSN (q))
+    if (INSN_P (q))
+      return;
 
   /* Remove what will soon cease being the jump insn from the source block.
      If block B consisted only of this single jump, turn it into a deleted