nir: always attempt to find loop terminators
This will help later patches with unrolling loops that end with a break i.e. loops the always exit on their first interation. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
1e40f69483
commit
fef6325e58
|
@ -717,13 +717,6 @@ get_loop_info(loop_info_state *state, nir_function_impl *impl)
|
|||
}
|
||||
}
|
||||
|
||||
/* Induction analysis needs invariance information so get that first */
|
||||
compute_invariance_information(state);
|
||||
|
||||
/* We have invariance information so try to find induction variables */
|
||||
if (!compute_induction_information(state))
|
||||
return;
|
||||
|
||||
/* Try to find all simple terminators of the loop. If we can't find any,
|
||||
* or we find possible terminators that have side effects then bail.
|
||||
*/
|
||||
|
@ -737,6 +730,13 @@ get_loop_info(loop_info_state *state, nir_function_impl *impl)
|
|||
return;
|
||||
}
|
||||
|
||||
/* Induction analysis needs invariance information so get that first */
|
||||
compute_invariance_information(state);
|
||||
|
||||
/* We have invariance information so try to find induction variables */
|
||||
if (!compute_induction_information(state))
|
||||
return;
|
||||
|
||||
/* Run through each of the terminators and try to compute a trip-count */
|
||||
find_trip_count(state);
|
||||
|
||||
|
|
Loading…
Reference in New Issue