On Thu, Aug 20, 2020 at 4:45 AM yangyang (ET) <yangyang...@huawei.com> wrote:
>
> Hi,
>
>         This is a simple fix for PR96698.
>
>         For the test case, there are two PHIs in the inner loop in pass_vect
>
>                 <bb 5> [local count: 719407024]:
>                 # b_26 = PHI <0(4), b_15(10)>
>                 # c_27 = PHI <0(4), b_26(10)>
>
>         c_27 = PHI <0(4), b_26(10)> is detected to be a vectorizable nested 
> cycle by vect_is_simple_reduction incorrectly, and # b_26 = PHI <0(4), 
> b_15(10)> is marked as the reduc_def of it, resulting in the crash.
>
>         This patch adjusts the order of judgements in 
> vect_is_simple_reduction to avoid the incorrect detection.
>
>         Added one testcase for this. Bootstrap and tested on both aarch64 and 
> x86 Linux platform, no new regression witnessed.
>
>         Ok for trunk?`

It's still a nested cycle so I think the fix is not correct.  I'll
have a look myself later this week.

Richard.

> Thanks,
> Yang Yang
>
>
> +2020-08-20  Yang Yang  <yangyang...@huawei.com>
> +
> +       PR tree-optimization/96698
> +       * tree-vect-loop.c (vect_is_simple_reduction): Moves the analysis
> +       of phi nodes above the analysis of nested cycle to avoid the
> +       incorrect detection.
> +
>
> +2020-08-20  Yang Yang  <yangyang...@huawei.com>
> +
> +       PR tree-optimization/96698
> +       * gcc.dg/pr96698.c: New test.
> +
>

Reply via email to