summaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-20 02:33:52 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-20 02:33:52 +0000
commit6a0aeeaa87d35b41a9e471c37f0b2e9a58511e42 (patch)
treed643478192e3bd2111176dee180dc26f4b51715b /gcc/fold-const.c
parent691f6748309d76138ef284a7cf929aeae13e744e (diff)
downloadgcc-6a0aeeaa87d35b41a9e471c37f0b2e9a58511e42.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101201 138bc75d-0d04-0410-961f-82ee72b054a4
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 335e556f5e9..5d25cb9a40e 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 ();
}