static void
complex_unroll_single_terminator(nir_loop *loop)
{
- assert(list_length(&loop->info->loop_terminator_list) == 1);
+ assert(list_is_singular(&loop->info->loop_terminator_list));
assert(loop->info->limiting_terminator);
assert(nir_is_trivial_loop_if(loop->info->limiting_terminator->nif,
loop->info->limiting_terminator->break_block));
static void
partial_unroll(nir_shader *shader, nir_loop *loop, unsigned trip_count)
{
- assert(list_length(&loop->info->loop_terminator_list) == 1);
+ assert(list_is_singular(&loop->info->loop_terminator_list));
nir_loop_terminator *terminator =
list_first_entry(&loop->info->loop_terminator_list,
/* If we were able to guess the loop iteration based on array access
* then do a partial unroll.
*/
- unsigned num_lt = list_length(&loop->info->loop_terminator_list);
- if (!has_nested_loop && num_lt == 1 && !loop->partially_unrolled &&
+ bool one_lt = list_is_singular(&loop->info->loop_terminator_list);
+ if (!has_nested_loop && one_lt && !loop->partially_unrolled &&
loop->info->guessed_trip_count &&
check_unrolling_restrictions(sh, loop)) {
partial_unroll(sh, loop, loop->info->guessed_trip_count);