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:
@@ -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,
|
/* 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.
|
* 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;
|
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 */
|
/* Run through each of the terminators and try to compute a trip-count */
|
||||||
find_trip_count(state);
|
find_trip_count(state);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user