aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2019-06-03 11:28:28 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2019-06-03 11:28:28 +0000
commitf2b00d2ba461d6dafdeccf6d93828b349b5e7f76 (patch)
tree207b3e75858642d677836e0e269fe0285e6eead6 /gcc/tree-vrp.h
parent49f3f450046a63b5de61be28eb6023d86e0c950e (diff)
downloadgcc-f2b00d2ba461d6dafdeccf6d93828b349b5e7f76.zip
gcc-f2b00d2ba461d6dafdeccf6d93828b349b5e7f76.tar.gz
gcc-f2b00d2ba461d6dafdeccf6d93828b349b5e7f76.tar.bz2
tree-vrp.h (value_range_base::nonzero_p): New.
* tree-vrp.h (value_range_base::nonzero_p): New. (value_range_base::set_nonnull): Rename to... (value_range_base::set_nonzero): ...this. (value_range_base::set_null): Rename to... (value_range_base::set_zero): ...this. (value_range::set_nonnull): Remove. (value_range::set_null): Remove. * tree-vrp.c (range_is_null): Remove. (range_is_nonnull): Remove. (extract_range_from_binary_expr): Use value_range_base::*zero_p instead of range_is_*null. (extract_range_from_unary_expr): Same. (value_range_base::set_nonnull): Rename to... (value_range_base::set_nonzero): ...this. (value_range::set_nonnull): Remove. (value_range_base::set_null): Rename to... (value_range_base::set_zero): ...this. (value_range::set_null): Remove. (extract_range_from_binary_expr): Rename set_*null uses to set_*zero. (extract_range_from_unary_expr): Same. (union_helper): Same. * vr-values.c (get_value_range): Use set_*zero instead of set_*null. (vr_values::extract_range_from_binary_expr): Same. (vr_values::extract_range_basic): Same. From-SVN: r271865
Diffstat (limited to 'gcc/tree-vrp.h')
-rw-r--r--gcc/tree-vrp.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/gcc/tree-vrp.h b/gcc/tree-vrp.h
index 9d52b42..435df42 100644
--- a/gcc/tree-vrp.h
+++ b/gcc/tree-vrp.h
@@ -46,8 +46,8 @@ public:
void set (value_range_kind, tree, tree);
void set (tree);
- void set_nonnull (tree);
- void set_null (tree);
+ void set_nonzero (tree);
+ void set_zero (tree);
enum value_range_kind kind () const;
tree min () const;
@@ -72,6 +72,7 @@ public:
bool may_contain_p (tree) const;
void set_and_canonicalize (enum value_range_kind, tree, tree);
bool zero_p () const;
+ bool nonzero_p () const;
bool singleton_p (tree *result = NULL) const;
void dump (FILE *) const;
@@ -118,8 +119,6 @@ class GTY((user)) value_range : public value_range_base
/* Deep-copies equiv bitmap argument. */
void set (value_range_kind, tree, tree, bitmap = NULL);
void set (tree);
- void set_nonnull (tree);
- void set_null (tree);
bool operator== (const value_range &) const /* = delete */;
bool operator!= (const value_range &) const /* = delete */;
@@ -222,6 +221,16 @@ value_range_base::zero_p () const
&& integer_zerop (m_max));
}
+/* Return TRUE if range is nonzero. */
+
+inline bool
+value_range_base::nonzero_p () const
+{
+ return (m_kind == VR_ANTI_RANGE
+ && integer_zerop (m_min)
+ && integer_zerop (m_max));
+}
+
extern void dump_value_range (FILE *, const value_range *);
extern void dump_value_range (FILE *, const value_range_base *);