This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch]: Fix regression caused by fix for 61917
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Kai Tietz <ktietz70 at googlemail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 25 Feb 2015 19:16:34 +0100
- Subject: Re: [patch]: Fix regression caused by fix for 61917
- Authentication-results: sourceware.org; auth=none
- References: <CAEwic4ZKufPsu1CpGs0Cnj8H1C_v7DgLP8pke-CouS-ThNmz6Q at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Feb 25, 2015 at 07:13:55PM +0100, Kai Tietz wrote:
> Hi,
>
> The patch didn't handled the case for dt being vect_constant_def,
> where of course the reduc_def_stmt is NULL.
> By checking for NULL before testing for PHI, we now fallback for such
> cases to old behavior and return in the next if-statment.
>
> 2015-02-25 Richard Biener <rguenther@suse.de>
> Kai Tietz <ktietz@redhat.com>
>
> PR tree-optimization/61917
> * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
> that reduc_def_stmt is null.
>
> Tested and will apply as obvious to trunk and 4.9 if there are no objections.
Ok, thanks.
> --- tree-vect-loop.c (Revision 220968)
> +++ tree-vect-loop.c (Arbeitskopie)
> @@ -4912,7 +4912,7 @@ vectorizable_reduction (gimple stmt, gimple_stmt_i
> if (!found_nested_cycle_def)
> reduc_def_stmt = def_stmt;
>
> - if (gimple_code (reduc_def_stmt) != GIMPLE_PHI)
> + if (reduc_def_stmt && gimple_code (reduc_def_stmt) != GIMPLE_PHI)
> return false;
>
> if (!(dt == vect_reduction_def
Jakub