r278122 - in /trunk/gcc: ChangeLog tree-vect-lo...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Wed Nov 13 09:03:00 GMT 2019


Author: rsandifo
Date: Wed Nov 13 09:03:07 2019
New Revision: 278122

URL: https://gcc.gnu.org/viewcvs?rev=278122&root=gcc&view=rev
Log:
Don't assign a cost to vectorizable_assignment

vectorizable_assignment handles true SSA-to-SSA copies (which hopefully
we don't see in practice) and no-op conversions that are required
to maintain correct gimple, such as changes between signed and
unsigned types.  These cases shouldn't generate any code and so
shouldn't count against either the scalar or vector costs.

Later patches test this, but it seemed worth splitting out.

2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vectorizer.h (vect_nop_conversion_p): Declare.
	* tree-vect-stmts.c (vect_nop_conversion_p): New function.
	(vectorizable_assignment): Don't add a cost for nop conversions.
	* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
	Likewise.
	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vect-slp.c
    trunk/gcc/tree-vect-stmts.c
    trunk/gcc/tree-vectorizer.h



More information about the Gcc-cvs mailing list