aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <quic_apinski@quicinc.com>2024-09-22 13:18:30 -0700
committerAndrew Pinski <quic_apinski@quicinc.com>2024-09-23 00:45:50 -0700
commit831137be51a54715b73a6178dbfb28215d1963df (patch)
treecf34ed1b7333ebfc04d535ce2128df6b040fcee0 /gcc
parent2cd76720c1584b55b05570894f602f05f1fc48ec (diff)
downloadgcc-831137be51a54715b73a6178dbfb28215d1963df.zip
gcc-831137be51a54715b73a6178dbfb28215d1963df.tar.gz
gcc-831137be51a54715b73a6178dbfb28215d1963df.tar.bz2
gimple: Simplify gimple_seq_nondebug_singleton_p
The implementation of gimple_seq_nondebug_singleton_p was convoluted on how to determine if the sequence was a singleton (which could contain debug statements). This simplifies the function into two calls. One to get the start after all of the debug statements and then check to see if it is at the one before the end (or there is only debug statements afterwards). Bootstrapped and tested on x86_64-linux-gnu (including ada). gcc/ChangeLog: * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Rewrite to be simplely, gsi_start_nondebug/gsi_one_nondebug_before_end_p. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Diffstat (limited to 'gcc')
-rw-r--r--gcc/gimple-iterator.h23
1 files changed, 2 insertions, 21 deletions
diff --git a/gcc/gimple-iterator.h b/gcc/gimple-iterator.h
index 501f054..97176d6 100644
--- a/gcc/gimple-iterator.h
+++ b/gcc/gimple-iterator.h
@@ -430,28 +430,9 @@ gsi_seq (gimple_stmt_iterator i)
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;
- while (!gsi_end_p (gsi)
- && is_gimple_debug (gsi_stmt (gsi)))
- gsi_next (&gsi);
-
- /* No nondebug gimple found, not a singleton. */
- if (gsi_end_p (gsi))
- return false;
-
- /* Find a next nondebug gimple. */
- gsi_next (&gsi);
- while (!gsi_end_p (gsi)
- && is_gimple_debug (gsi_stmt (gsi)))
- gsi_next (&gsi);
+ gimple_stmt_iterator gsi = gsi_start_nondebug (seq);
- /* Only a singleton if there's no next nondebug gimple. */
- return gsi_end_p (gsi);
+ return gsi_one_nondebug_before_end_p (gsi);
}
#endif /* GCC_GIMPLE_ITERATOR_H */