aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-06-20 02:33:52 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-06-20 02:33:52 +0000
commit09b2f9e8c91f9a245330f49cfee65d3642b98114 (patch)
treed643478192e3bd2111176dee180dc26f4b51715b /gcc/fold-const.c
parent115766b691bab20c8c9748fae898dc93246c1e18 (diff)
downloadgcc-09b2f9e8c91f9a245330f49cfee65d3642b98114.zip
gcc-09b2f9e8c91f9a245330f49cfee65d3642b98114.tar.gz
gcc-09b2f9e8c91f9a245330f49cfee65d3642b98114.tar.bz2
fold-const.c (swap_tree_comparison): Add support for unordered floating point comparisons.
* fold-const.c (swap_tree_comparison): Add support for unordered floating point comparisons. * tree-vrp.c (opposite_comparison): Delete. (extract_range_from_assert): Replace calls to opposite_comparison with calls to swap_tree_comparison. (register_edge_assert_for): Likewise. (vrp_evaluate_conditional): Likewise. From-SVN: r101201
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 335e556..5d25cb9 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2169,6 +2169,10 @@ swap_tree_comparison (enum tree_code code)
{
case EQ_EXPR:
case NE_EXPR:
+ case ORDERED_EXPR:
+ case UNORDERED_EXPR:
+ case LTGT_EXPR:
+ case UNEQ_EXPR:
return code;
case GT_EXPR:
return LT_EXPR;
@@ -2178,6 +2182,14 @@ swap_tree_comparison (enum tree_code code)
return GT_EXPR;
case LE_EXPR:
return GE_EXPR;
+ case UNGT_EXPR:
+ return UNLT_EXPR;
+ case UNGE_EXPR:
+ return UNLE_EXPR;
+ case UNLT_EXPR:
+ return UNGT_EXPR;
+ case UNLE_EXPR:
+ return UNGE_EXPR;
default:
gcc_unreachable ();
}