Fix gimple_seq_nondebug_singleton_p
authorTom de Vries <tom@codesourcery.com>
Tue, 9 Jun 2015 05:52:52 +0000 (05:52 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Tue, 9 Jun 2015 05:52:52 +0000 (05:52 +0000)
2015-06-09  Tom de Vries  <tom@codesourcery.com>

* gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
always return false.

From-SVN: r224263

gcc/ChangeLog
gcc/gimple-iterator.h

index 6f51bc9..7537f41 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-09  Tom de Vries  <tom@codesourcery.com>
+
+       * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
+       always return false.
+
 2015-06-09  Alexandre Oliva <aoliva@redhat.com>
 
        PR rtl-optimization/64164
index d08245e..76fa456 100644 (file)
@@ -351,33 +351,27 @@ static inline bool
 gimple_seq_nondebug_singleton_p (gimple_seq seq)
 {
   gimple_stmt_iterator gsi;
+
+  /* Find a nondebug gimple.  */
   gsi.ptr = gimple_seq_first (seq);
   gsi.seq = &seq;
   gsi.bb = NULL;
-
-  /* Not a singleton if the sequence is empty.  */
-  if (gsi_end_p (gsi))
-    return false;
-
-  /* Find a nondebug gimple.  */
   while (!gsi_end_p (gsi)
         && is_gimple_debug (gsi_stmt (gsi)))
     gsi_next (&gsi);
 
-  /* Not a nondebug singleton if there's no nondebug gimple.  */
-  if (is_gimple_debug (gsi_stmt (gsi)))
+  /* No nondebug gimple found, not a singleton.  */
+  if (gsi_end_p (gsi))
     return false;
 
-  /* Find the next nondebug gimple.  */
+  /* Find a next nondebug gimple.  */
+  gsi_next (&gsi);
   while (!gsi_end_p (gsi)
         && is_gimple_debug (gsi_stmt (gsi)))
     gsi_next (&gsi);
 
-  /* If there's a next nondebug gimple, it's not a nondebug singleton.  */
-  if (!gsi_end_p (gsi))
-    return false;
-
-  return true;
+  /* Only a singleton if there's no next nondebug gimple.  */
+  return gsi_end_p (gsi);
 }
 
 #endif /* GCC_GIMPLE_ITERATOR_H */