This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix PR tree-optmization/50413
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Ira Rosen <ira dot rosen at linaro dot org>
- Cc: gcc-patches at gcc dot gnu dot org, Patch Tracking <patches at linaro dot org>
- Date: Mon, 19 Sep 2011 07:06:45 -0700
- Subject: Re: [patch] Fix PR tree-optmization/50413
- References: <CAKSNEw4banXmt_nwwkdAO7Rk8Y3s-1k--Lm9cKiOy0L5qCDfPQ@mail.gmail.com>
On Mon, Sep 19, 2011 at 4:46 AM, Ira Rosen <ira.rosen@linaro.org> wrote:
> Hi,
>
> When we can't vectorize a certain statement in SLP we mark it as not
> vectorizable and continue with the analysis. This is wrong when the
> reason for the failure is that we can't analyze a data-ref, because
> this way we may miss a data dependence. This patch fails SLP if the
> data-refs analysis fails.
>
> Bootstrapped and tested on powerpc64-suse-linux and i486-linux-gnu.
> Committed to trunk.
On Linux/x86, I got
FAIL: g++.dg/vect/slp-pr50413.cc scan-tree-dump-times slp "basic block
vectorized using SLP" 0
>
> ? ? ? ?PR tree-optimization/50413
> ? ? ? ?* tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
> ? ? ? ?a basic block if one of its data-refs can't be analyzed.
>
> testsuite/ChangeLog:
>
> ? ? ? ?PR tree-optimization/50413
> ? ? ? ?* g++.dg/vect/vect.exp: Run slp-pr* tests with
> ? ? ? ?-fdump-tree-slp-details. ?Run other tests with
> ? ? ? ?-fdump-tree-vect-details.
> ? ? ? ?* g++.dg/vect/slp-pr50413.cc: New.
>
--
H.J.