On Tue, Mar 28, 2017 at 2:01 PM, Bin Cheng <bin.ch...@arm.com> wrote:
> Hi,
> This patch fixes a latent bug in vectorizer, specifically, vect_do_peeling 
> doesn't mark newly created edge
> with irreducible flag if the vectorized loop is in irreducible region.  
> Function checking_verify_loop_structure
> needs to be explicitly called in vectorizer otherwise the issue is covered, 
> but I am okay if we should avoid
> this call.
> Bootstrap and test on x86_64 and AArch64.  This patch causes new failure in 
> gcc.dg/tree-ssa/pr71077.c,
> which uncovers another latent bug in vectorizer.  That will be fixed by next 
> patch.  Is this OK?

Ok (please omit the checking_verify_loop_structure call for now).

Thanks,
Richard.

> 2017-03-27  Bin Cheng  <bin.ch...@arm.com>
>
>         * tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
>         mark new edge's irreducible flag accordign to it.
>         (vect_do_peeling): Check loop preheader edge's irreducible flag
>         and pass it to function slpeel_add_loop_guard.
>         * tree-vectorizer.c (vectorize_loops): Explicitly call function
>         checking_verify_loop_structure.
>
> gcc/testsuite/ChangeLog
> 2017-03-27  Bin Cheng  <bin.ch...@arm.com>
>
>         * gcc.c-torture/compile/irreducible-loop.c: New.

Reply via email to