Index: ddg.c
===================================================================
--- ddg.c       (revision 162258)
+++ ddg.c       (working copy)
@@ -488,7 +488,7 @@
     }

   /* There is nothing to do for this BB.  */
-  if (num_nodes <= 1)
+  if ((num_nodes - g->num_debug) <= 1)
     {
       free (g);
       return NULL;
Index: loop-doloop.c
===================================================================
--- loop-doloop.c       (revision 162258)
+++ loop-doloop.c       (working copy)
@@ -104,11 +104,15 @@
   if (GET_CODE (pattern) != PARALLEL)
     {
       rtx cond;
+      rtx prev_insn = PREV_INSN (doloop_pat);

-      /* We expect the decrement to immediately precede the branch.  */
+      /* We expect the decrement to immediately precede the branch.
+         Need to skip possible debug_insn */
+      while (prev_insn != NULL_RTX && DEBUG_INSN_P (prev_insn))
+        prev_insn = PREV_INSN (prev_insn);

-      if ((PREV_INSN (doloop_pat) == NULL_RTX)
-          || !INSN_P (PREV_INSN (doloop_pat)))
+      if ((prev_insn == NULL_RTX)
+          || !INSN_P (prev_insn))
         return 0;

       cmp = pattern;
