Revert previous patch:
authorAldy Hernandez <aldyh@redhat.com>
Sun, 17 May 2020 11:56:55 +0000 (13:56 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Sun, 17 May 2020 11:56:55 +0000 (13:56 +0200)
2020-05-17  Aldy Hernandez  <aldyh@redhat.com>

* tree-vrp.c (operand_less_p): Move to...
* vr-values.c (operand_less_p): ...here.
* tree-vrp.h (operand_less_p): Remove.

gcc/ChangeLog
gcc/tree-vrp.c
gcc/tree-vrp.h
gcc/vr-values.c

index 5c90953..60ff1ff 100644 (file)
@@ -1,5 +1,14 @@
 2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
 
+       Revert:
+       2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (operand_less_p): Move to...
+       * vr-values.c (operand_less_p): ...here.
+       * tree-vrp.h (operand_less_p): Remove.
+
+2020-05-17  Aldy Hernandez  <aldyh@redhat.com>
+
        * tree-vrp.c (operand_less_p): Move to...
        * vr-values.c (operand_less_p): ...here.
        * tree-vrp.h (operand_less_p): Remove.
index f8191fa..4b5df54 100644 (file)
@@ -685,6 +685,32 @@ build_symbolic_expr (tree type, tree sym, bool neg, tree inv)
   return build2 (pointer_p ? POINTER_PLUS_EXPR : PLUS_EXPR, type, t, inv);
 }
 
+/* Return
+   1 if VAL < VAL2
+   0 if !(VAL < VAL2)
+   -2 if those are incomparable.  */
+int
+operand_less_p (tree val, tree val2)
+{
+  /* LT is folded faster than GE and others.  Inline the common case.  */
+  if (TREE_CODE (val) == INTEGER_CST && TREE_CODE (val2) == INTEGER_CST)
+    return tree_int_cst_lt (val, val2);
+  else if (TREE_CODE (val) == SSA_NAME && TREE_CODE (val2) == SSA_NAME)
+    return val == val2 ? 0 : -2;
+  else
+    {
+      int cmp = compare_values (val, val2);
+      if (cmp == -1)
+       return 1;
+      else if (cmp == 0 || cmp == 1)
+       return 0;
+      else
+       return -2;
+    }
+
+  return 0;
+}
+
 /* Compare two values VAL1 and VAL2.  Return
 
        -2 if VAL1 and VAL2 cannot be compared at compile-time,
index b74fe00..aa8201f 100644 (file)
@@ -116,6 +116,7 @@ extern bool range_int_cst_p (const value_range *);
 
 extern int compare_values (tree, tree);
 extern int compare_values_warnv (tree, tree, bool *);
+extern int operand_less_p (tree, tree);
 
 void range_fold_unary_expr (value_range *, enum tree_code, tree type,
                            const value_range *, tree op0_type);
index f7cba16..2e3a078 100644 (file)
@@ -1104,32 +1104,6 @@ vr_values::check_for_binary_op_overflow (enum tree_code subcode, tree type,
   return true;
 }
 
-/* Return
-   1 if VAL < VAL2
-   0 if !(VAL < VAL2)
-   -2 if those are incomparable.  */
-static int
-operand_less_p (tree val, tree val2)
-{
-  /* LT is folded faster than GE and others.  Inline the common case.  */
-  if (TREE_CODE (val) == INTEGER_CST && TREE_CODE (val2) == INTEGER_CST)
-    return tree_int_cst_lt (val, val2);
-  else if (TREE_CODE (val) == SSA_NAME && TREE_CODE (val2) == SSA_NAME)
-    return val == val2 ? 0 : -2;
-  else
-    {
-      int cmp = compare_values (val, val2);
-      if (cmp == -1)
-       return 1;
-      else if (cmp == 0 || cmp == 1)
-       return 0;
-      else
-       return -2;
-    }
-
-  return 0;
-}
-
 /* Try to derive a nonnegative or nonzero range out of STMT relying
    primarily on generic routines in fold in conjunction with range data.
    Store the result in *VR */