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: [PATCH][1/3] Add loop_vinfo to vect_get_vec_def_for_operand


> This patch simply adds loop_vinfo as an extra argument to
> vect_get_vec_def_for_operand and only generates a stmt_vinfo if required.
> This is a required cleanup for patch [2/3].
> Tested on x86 and aarch64.
>
> gcc/
> * tree-vectorizer.h (vect_get_vec_def_for_operand): Pass loop_vinfo in.
> * tree-vect-stmts.c (vect_get_vec_def_for_operand): Pass loop_vinfo in.
> (vect_get_vec_defs): Pass down loop_vinfo.
> (vectorizable_mask_load_store): Likewise.
> (vectorizable_call): Likewise.
> (vectorizable_simd_clone_call): Likewise.
> (vect_get_loop_based_defs): Likewise.
> (vectorizable_conversion): Likewise.
> (vectorizable_operation): Likewise.
> (vectorizable_store): Likewise.
> (vectorizable_load): Likewise.
> (vectorizable_condition): Likewise.
> (vectorizable_comparison): Likewise.
> * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
> (get_initial_def_for_reduction): Likewise.
> (vectorizable_reduction):  Likewise.

New version. I've removed the additional loop_vinfo arg.
Instead, I've split part of vect_get_vec_def_for_operand into a new
function vect_get_vec_def_for_operand_1.
My [2/3] patch will call vect_get_vec_def_for_operand_1 direct from
vectorizeable_live_operation

gcc/
	* tree-vectorizer.h (vect_get_vec_def_for_operand_1): New
	* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): New
	(vect_get_vec_def_for_operand): Split out code.






Alan.

Attachment: 1of3get_vec_def.patch
Description: Binary data


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