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

--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Mar 22 14:38:42 2016
New Revision: 234405

URL: https://gcc.gnu.org/viewcvs?rev=234405&root=gcc&view=rev
Log:
2016-03-22  Richard Biener  <rguent...@suse.de>

        PR middle-end/70251
        * genmatch.c (gen_transform): Adjust last parameter to a three-state
        int...
        (capture::gen_transform): ... to change behavior when substituting
        a condition into cond or not-cond expr context.
        (dt_simplify::gen_1): Adjust.
        * gimple-match-head.c: Include gimplify.h for unshare_expr.
        * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
        last change and instead change to
        A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
        (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.

        * g++.dg/torture/pr70251.C: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr70251.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/genmatch.c
    trunk/gcc/gimple-match-head.c
    trunk/gcc/match.pd
    trunk/gcc/testsuite/ChangeLog

Reply via email to