This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, vec-tails 02/10] Extend _loop_vec_info structure with epilogue related fields
- From: Ilya Enkovich <enkovich dot gnu at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 16 Jun 2016 19:10:50 +0300
- Subject: Re: [PATCH, vec-tails 02/10] Extend _loop_vec_info structure with epilogue related fields
- Authentication-results: sourceware.org; auth=none
- References: <20160519193811 dot GC40563 at msticlxl57 dot ims dot intel dot com> <8f82ce58-1bee-f668-54b7-0ebf22a0173e at redhat dot com>
2016-06-16 8:11 GMT+03:00 Jeff Law <law@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.enkovich@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
>