On Mon, 28 Oct 2024, Alex Coplan wrote:

> From: Tamar Christina <tamar.christ...@arm.com>
> 
> The alignment peeling changes exposed a latent missing dominator update
> with early break vectorization, specifically when inserting the vector
> skip edge, since the new edge bypasses the prolog skip block and thus
> has the potential to subvert its dominance.  This patch fixes that.

OK.

Thanks,
Richard.

> gcc/ChangeLog:
> 
>       * tree-vect-loop-manip.cc (vect_do_peeling): Update immediate
>       dominators of nodes that were dominated by the prolog skip block
>       after inserting vector skip edge.
> 
> gcc/testsuite/ChangeLog:
> 
>       * g++.dg/vect/vect-early-break_6.cc: New test.
> 
> Co-Authored-By: Alex Coplan <alex.cop...@arm.com>
> ---
>  .../g++.dg/vect/vect-early-break_6.cc         | 25 +++++++++++++++++++
>  gcc/tree-vect-loop-manip.cc                   | 24 ++++++++++++++++++
>  2 files changed, 49 insertions(+)
>  create mode 100644 gcc/testsuite/g++.dg/vect/vect-early-break_6.cc
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Reply via email to