aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.h
diff options
context:
space:
mode:
authorGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-22 17:43:43 -0300
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-22 17:43:43 -0300
commita926878ddbd5a98b272c22171ce58663fc04c3e0 (patch)
tree86af256e5d9a9c06263c00adc90e5fe348008c43 /gcc/tree-vrp.h
parent542730f087133690b47e036dfd43eb0db8a650ce (diff)
parent07cbaed8ba7d1b6e4ab3a9f44175502a4e1ecdb1 (diff)
downloadgcc-a926878ddbd5a98b272c22171ce58663fc04c3e0.zip
gcc-a926878ddbd5a98b272c22171ce58663fc04c3e0.tar.gz
gcc-a926878ddbd5a98b272c22171ce58663fc04c3e0.tar.bz2
Merge branch 'autopar_rebase2' into autopar_develdevel/autopar_devel
Quickly commit changes in the rebase branch.
Diffstat (limited to 'gcc/tree-vrp.h')
-rw-r--r--gcc/tree-vrp.h72
1 files changed, 2 insertions, 70 deletions
diff --git a/gcc/tree-vrp.h b/gcc/tree-vrp.h
index aa8201f..371e58a 100644
--- a/gcc/tree-vrp.h
+++ b/gcc/tree-vrp.h
@@ -22,76 +22,6 @@ along with GCC; see the file COPYING3. If not see
#include "value-range.h"
-/* Note value_range_equiv cannot currently be used with GC memory,
- only value_range is fully set up for this. */
-class GTY((user)) value_range_equiv : public value_range
-{
- public:
- value_range_equiv ();
- value_range_equiv (const value_range &);
- /* Deep-copies equiv bitmap argument. */
- value_range_equiv (tree, tree, bitmap = NULL, value_range_kind = VR_RANGE);
-
- /* Shallow-copies equiv bitmap. */
- value_range_equiv (const value_range_equiv &) /* = delete */;
- /* Shallow-copies equiv bitmap. */
- value_range_equiv& operator=(const value_range_equiv &) /* = delete */;
-
- /* Move equiv bitmap from source range. */
- void move (value_range_equiv *);
-
- /* Leaves equiv bitmap alone. */
- void update (tree, tree, value_range_kind = VR_RANGE);
- /* Deep-copies equiv bitmap argument. */
- void set (tree, tree, bitmap = NULL, value_range_kind = VR_RANGE);
- void set (tree);
-
- bool operator== (const value_range_equiv &) const /* = delete */;
- bool operator!= (const value_range_equiv &) const /* = delete */;
- void intersect (const value_range_equiv *);
- void union_ (const value_range_equiv *);
- bool equal_p (const value_range_equiv &, bool ignore_equivs) const;
-
- /* Types of value ranges. */
- void set_undefined ();
- void set_varying (tree);
-
- /* Equivalence bitmap methods. */
- bitmap equiv () const;
- void equiv_clear ();
- void equiv_add (const_tree, const value_range_equiv *,
- bitmap_obstack * = NULL);
-
- /* Misc methods. */
- void deep_copy (const value_range_equiv *);
- void dump (FILE *) const;
- void dump () const;
-
- private:
- /* Deep-copies bitmap argument. */
- void set_equiv (bitmap);
- void check ();
-
- /* Set of SSA names whose value ranges are equivalent to this one.
- This set is only valid when TYPE is VR_RANGE or VR_ANTI_RANGE. */
- bitmap m_equiv;
-};
-
-inline
-value_range_equiv::value_range_equiv ()
- : value_range ()
-{
- m_equiv = NULL;
-}
-
-inline bitmap
-value_range_equiv::equiv () const
-{
- return m_equiv;
-}
-
-extern void dump_value_range (FILE *, const value_range_equiv *);
-
struct assert_info
{
/* Predicate code for the ASSERT_EXPR. Must be COMPARISON_CLASS_P. */
@@ -132,5 +62,7 @@ extern bool overflow_comparison_p (tree_code, tree, tree, bool, tree *);
extern tree get_single_symbol (tree, bool *, tree *);
extern void maybe_set_nonzero_bits (edge, tree);
extern value_range_kind determine_value_range (tree, wide_int *, wide_int *);
+extern wide_int masked_increment (const wide_int &val_in, const wide_int &mask,
+ const wide_int &sgnbit, unsigned int prec);
#endif /* GCC_TREE_VRP_H */