2016-06-16 8:11 GMT+03:00 Jeff Law <l...@redhat.com>: > On 05/19/2016 01:38 PM, Ilya Enkovich wrote: >> >> Hi, >> >> This patch adds new fields to _loop_vec_info structure to support loop >> epilogue vectorization. >> >> Thanks, >> Ilya >> -- >> gcc/ >> >> 2016-05-19 Ilya Enkovich <ilya.enkov...@intel.com> >> >> * tree-vectorizer.h (struct _loop_vec_info): Add new fields >> can_be_masked, required_masks, mask_epilogue, combine_epilogue, >> need_masking, orig_loop_info. >> (LOOP_VINFO_CAN_BE_MASKED): New. >> (LOOP_VINFO_REQUIRED_MASKS): New. >> (LOOP_VINFO_COMBINE_EPILOGUE): New. >> (LOOP_VINFO_MASK_EPILOGUE): New. >> (LOOP_VINFO_NEED_MASKING): New. >> (LOOP_VINFO_ORIG_LOOP_INFO): New. >> (LOOP_VINFO_EPILOGUE_P): New. >> (LOOP_VINFO_ORIG_MASK_EPILOGUE): New. >> (LOOP_VINFO_ORIG_VECT_FACTOR): New. >> * tree-vect-loop.c (new_loop_vec_info): Initialize new >> _loop_vec_info fields. > > I don't see anything here that is inherently wrong/bad here; I think this > would be fine once the whole set is approved. I also think if you find > that you need additional similar kinds of fields, that would be OK as well. > > The one question I would ask -- do we ever need to copy VINFO data from one > loop to a duplicate, and if so, ISTM that the code to copy that data would > be a part of this patch.
AFAIK we currently never copy vectorized loop in vectorizer. I never saw VINFO to be copied and I don't see corresponding API in tree-vectorizer.h. I'll double-check it. Thanks, Ilya > > jeff >