diff options
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r-- | gcc/cfgloop.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index 903672d..791dabf 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -451,6 +451,33 @@ number_of_loops (void) return VEC_length (loop_p, current_loops->larray); } +/* Returns true if state of the loops satisfies all properties + described by FLAGS. */ + +static inline bool +loops_state_satisfies_p (unsigned flags) +{ + return (current_loops->state & flags) == flags; +} + +/* Sets FLAGS to the loops state. */ + +static inline void +loops_state_set (unsigned flags) +{ + current_loops->state |= flags; +} + +/* Clears FLAGS from the loops state. */ + +static inline void +loops_state_clear (unsigned flags) +{ + if (!current_loops) + return; + current_loops->state &= ~flags; +} + /* Loop iterators. */ /* Flags for loop iteration. */ |