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