This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [060/nnn] poly_int: loop versioning threshold


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.sandiford@linaro.org>
> 	    Alan Hayward  <alan.hayward@arm.com>
> 	    David Sherwood  <david.sherwood@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]