On Fri, Apr 15, 2016 at 12:44 PM, kugan
<kugan.vivekanandara...@linaro.org> wrote:
> As pointed out by Richard, for signed & sign-bit-CST value range should be
> [-INF, 0] range, not a [-INF, INF] range as happens now.
>
> This patch fixes this. I bootstrapped and regression tested for
> x86-64-linux-gnu with no new regression. Is this OK for statege-1.

I think you need to check vr0 for singleton-constant == sign_bit as well,
there is nothing that canonicalizes this during propagation.

Otherwise ok.

Thanks,
Richard.

> Thanks,
> Kugan
>
>
> gcc/ChangeLog:
>
> 2016-04-14  Kugan Vivekanandarajah  <kug...@linaro.org>
>
>         PR middle-end/68217
>         * tree-vrp.c (extract_range_from_binary_expr_1): In case of signed &
> sign-bit-CST,
>          generate [-INF, 0] instead of [-INF, INF].
>
>
> gcc/testsuite/ChangeLog:
>
> 2016-04-14  Kugan Vivekanandarajah  <kug...@linaro.org>
>
>         PR middle-end/68217
>         * gcc.dg/pr68217.c: New test.

Reply via email to