diff options
author | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-22 17:43:43 -0300 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-22 17:43:43 -0300 |
commit | a926878ddbd5a98b272c22171ce58663fc04c3e0 (patch) | |
tree | 86af256e5d9a9c06263c00adc90e5fe348008c43 /gcc/tree-vrp.h | |
parent | 542730f087133690b47e036dfd43eb0db8a650ce (diff) | |
parent | 07cbaed8ba7d1b6e4ab3a9f44175502a4e1ecdb1 (diff) | |
download | gcc-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.h | 72 |
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 */ |