On 10/23/2017 11:25 AM, Richard Sandiford wrote:
> This patch splits the loop versioning threshold out from the
> cost model threshold so that the former can become a poly_uint64.
> We still use a single test to enforce both limits where possible.
> 
> 
> 2017-10-23  Richard Sandiford  <richard.sandif...@linaro.org>
>           Alan Hayward  <alan.hayw...@arm.com>
>           David Sherwood  <david.sherw...@arm.com>
> 
> gcc/
>       * tree-vectorizer.h (_loop_vec_info): Add a versioning_threshold
>       field.
>       (LOOP_VINFO_VERSIONING_THRESHOLD): New macro
>       (vect_loop_versioning): Take the loop versioning threshold as a
>       separate parameter.
>       * tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
>       * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
>       versioning_threshold.
>       (vect_analyze_loop_2): Compute the loop versioning threshold
>       whenever loop versioning is needed, and store it in the new
>       field rather than combining it with the cost model threshold.
>       (vect_transform_loop): Update call to vect_loop_versioning.
>       Try to combine the loop versioning and cost thresholds here.
So you dropped the tests for PEELING_FOR_GAPS and PEELING_FOR_NITER in
vect_analyze_loop_2.  Was that intentional?

Otherwise it looks fine.  If the drop was intentional, then OK as-is.

jeff

Reply via email to