diff options
author | Richard Guenther <rguenther@suse.de> | 2009-03-28 10:01:56 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-03-28 10:01:56 +0000 |
commit | a254e44de7e7f417e3cdff485b27396e6bb16650 (patch) | |
tree | 41f27c9d3a60891996ed9cd47be2243a484783fc /gcc/tree.h | |
parent | a8ee227c046930794867e48c6478b0b04e3bd137 (diff) | |
download | gcc-a254e44de7e7f417e3cdff485b27396e6bb16650.zip gcc-a254e44de7e7f417e3cdff485b27396e6bb16650.tar.gz gcc-a254e44de7e7f417e3cdff485b27396e6bb16650.tar.bz2 |
re PR tree-optimization/37795 (if-combine doesn't optimize != after >= test)
2009-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37795
* tree.h (combine_comparisons): Declare.
* fold-const.c (combine_comparisons): Export.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Optimize two successive
comparisons.
(ifcombine_iforif): Use combine_comparisons.
* gcc.dg/tree-ssa/ssa-ifcombine-7.c: New testcase.
From-SVN: r145170
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -4853,6 +4853,8 @@ extern bool tree_call_nonnegative_warnv_p (tree, tree, tree, tree, bool *); extern bool tree_expr_nonzero_warnv_p (tree, bool *); extern bool fold_real_zero_addition_p (const_tree, const_tree, int); +extern tree combine_comparisons (enum tree_code, enum tree_code, + enum tree_code, tree, tree, tree); /* Return nonzero if CODE is a tree code that represents a truth value. */ static inline bool |