This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR87873


On Mon, Nov 5, 2018 at 6:55 AM Richard Biener <rguenther@suse.de> wrote:
>
>
> The fragile PHI copying logic in the vectorizer got confused by
> constants in loop-closed PHI nodes.  Fixed like the following.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
>
> Richard.
>
> From a965417cbefd54f45ac6f2b6e3d5dc39c307da09 Mon Sep 17 00:00:00 2001
> From: Richard Guenther <rguenther@suse.de>
> Date: Mon, 5 Nov 2018 13:02:48 +0100
> Subject: [PATCH] fix-pr87873
>
> 2018-11-05  Richard Biener  <rguenther@suse.de>
>
>         PR tree-optimization/87873
>         * tree-ssa-loop-manip.h (split_loop_exit_edge): Add copy_constants_p
>         argument.
>         * tree-ssa-loop-manip.c (split_loop_exit_edge): Likewise.
>         * tree-vect-loop.c (vect_transform_loop): When splitting the
>         loop exit also create forwarder PHIs for constants.
>         * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
>         Handle constant to_arg, add extra checking we match up the correct
>         PHIs.
>

This caused:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87889

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]