2010-06-08 Sandra Loosemore <sandra@codesourcery.com>
commitc82d157a5d6f77c0ae3b4f8e1eadad16ed60df27
authorsandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Jun 2010 18:15:53 +0000 (8 18:15 +0000)
committersandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 8 Jun 2010 18:15:53 +0000 (8 18:15 +0000)
tree4a855d962c105784a8cbaa9f50b09a09cba934e6
parenteecb925d941ac59fcd938380f5c466d59e0755ab
2010-06-08  Sandra Loosemore  <sandra@codesourcery.com>

PR tree-optimization/39874
PR middle-end/28685

gcc/
* gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
Declare.
* gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
same_bool_result_p): New.
(and_var_with_comparison, and_var_with_comparison_1,
and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
(or_var_with_comparison, or_var_with_comparison_1,
or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
* tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
of combine_comparisons.
* tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.

gcc/testsuite/
* gcc.dg/pr39874.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160445 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/gimple-fold.c
gcc/gimple.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr39874.c [new file with mode: 0644]
gcc/tree-ssa-ifcombine.c
gcc/tree-ssa-reassoc.c