On Tue, May 31, 2016 at 7:46 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> This code appears when we try to disable boolean patterns.  Boolean patterns
>> replace booleans with integers of proper size which allow us to simply
>> determine vectype using get_vectype_for_scalar_type.  With no such
>> replacement we can't determine vectype just out of a scalar type (there are
>> multiple possible options and get_vectype_for_scalar_type use would result
>> in a lot of redundant conversions).  So we delay vectype computation for
>> them and compute it basing on vectypes computed for their arguments.
>
> OK, thanks for the explanation.  It would be nice to document that somewhere
> in the code if this isn't already done.
>
>> Surely any missing vectype for a statement due to this delay is a bug.  I
>> didn't notice STMT_VINFO_LIVE_P should be checked in addition to
>> STMT_VINFO_RELEVANT_P.
>
> That works indeed and generates no regression.  OK for mainline and 6 branch?

Yes.

Thanks,
Richard.

>
> 2016-05-31  Eric Botcazou  <ebotca...@adacore.com>
>
>         * tree-vect-loop.c (vect_determine_vectorization_factor): Also take
>         into account live statements for mask producers.
>
>
> 2016-05-31  Eric Botcazou  <ebotca...@adacore.com>
>
>         * gnat.dg/opt56.ad[sb]: New test.
>
> --
> Eric Botcazou

Reply via email to