gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as BIT_XOR_EXPR, same as the...
authorRichard Guenther <rguenther@suse.de>
Tue, 19 Jul 2011 10:57:15 +0000 (10:57 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 19 Jul 2011 10:57:15 +0000 (10:57 +0000)
commit530206482667dd180acc4ca1e339389308f0736b
treefd9ee6dcb0f9d2b3d7aaed6a958cf751208c3602
parentb8b2b0094a9047a1ad476d96f0d20d4b56fca625
gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as BIT_XOR_EXPR, same as the RTL expander does.

2011-07-19  Richard Guenther  <rguenther@suse.de>

* gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as
BIT_XOR_EXPR, same as the RTL expander does.
* tree-cfg.c (verify_expr): Disallow TRUTH_NOT_EXPR in the gimple IL.
(verify_gimple_assign_unary): Likewise.
* tree-ssa-propagate.c (valid_gimple_rhs_p): Disallow TRUTH_*_EXPR.
* tree-ssa-forwprop.c (forward_propagate_comparison): Handle
BIT_NOT_EXPR and BIT_XOR_EXPR instead of TRUTH_NOT_EXPR.

* gcc.dg/tree-ssa/bool-10.c: Adjust expected pattern.
* gcc.dg/tree-ssa/bool-11.c: Likewise.
* gcc.dg/torture/20110719-1.c: New testcase.

From-SVN: r176442
gcc/ChangeLog
gcc/gimplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/20110719-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/bool-10.c
gcc/testsuite/gcc.dg/tree-ssa/bool-11.c
gcc/tree-cfg.c
gcc/tree-ssa-forwprop.c
gcc/tree-ssa-propagate.c