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.

jeff

Reply via email to