On Thu, Jun 2, 2016 at 6:04 PM, Alan Hayward <alan.hayw...@arm.com> wrote: > >> 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
Ok. Richard. > 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. >