re PR tree-optimization/30965 (Fails to tree-combine conditions in COND_EXPRs)
authorRichard Guenther <rguenther@suse.de>
Fri, 27 Apr 2007 13:43:42 +0000 (13:43 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 27 Apr 2007 13:43:42 +0000 (13:43 +0000)
commit3aef2dbd2e29122a0a292779af9dade975d6b526
tree3c5a5da4c9f306873b3bddd33f3d5953550b2ec9
parent891fc5e9f1b6a88f9147b68e670f0cc172acfe21
re PR tree-optimization/30965 (Fails to tree-combine conditions in COND_EXPRs)

2007-04-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/30965
PR tree-optimization/30978
* Makefile.in (tree-ssa-forwprop.o): Depend on $(FLAGS_H).
        * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove.
        (find_equivalent_equality_comparison): Likewise.
        (simplify_cond): Likewise.
        (get_prop_source_stmt): New helper.
        (get_prop_dest_stmt): Likewise.
(can_propagate_from): Likewise.
(remove_prop_source_from_use): Likewise.
        (combine_cond_expr_cond): Likewise.
        (forward_propagate_comparison): New function.
        (forward_propagate_into_cond): Rewrite to use fold for
        tree combining.
(tree_ssa_forward_propagate_single_use_vars): Call
forward_propagate_comparison to propagate comparisons.

* gcc.dg/tree-ssa/pr30978.c: New testcase.
* gcc.dg/tree-ssa/bool-3.c: Remove XFAIL, explain why.
* gcc.dg/tree-ssa/ssa-fre-4.c: Use char instead of bool
* gcc.dg/strict-overflow-5.c: Adjust tree dump scanning.

From-SVN: r124217
gcc/ChangeLog
gcc/Makefile.in
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/strict-overflow-5.c
gcc/testsuite/gcc.dg/tree-ssa/bool-3.c
gcc/testsuite/gcc.dg/tree-ssa/pr30978.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-4.c
gcc/tree-ssa-forwprop.c