diff options
author | Kenneth Zadeck <zadeck@naturalbridge.com> | 2014-05-06 16:25:05 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 2014-05-06 16:25:05 +0000 |
commit | 807e902eea17f3132488c256c963823976b2348c (patch) | |
tree | e5e1af94eb1502ba893bd6ce4a11f68877ff62a9 /gcc/tree-ssanames.h | |
parent | 6122336c832dc4dfedc49279549caddce86306ff (diff) | |
download | gcc-807e902eea17f3132488c256c963823976b2348c.zip gcc-807e902eea17f3132488c256c963823976b2348c.tar.gz gcc-807e902eea17f3132488c256c963823976b2348c.tar.bz2 |
Merge in wide-int.
From-SVN: r210113
Diffstat (limited to 'gcc/tree-ssanames.h')
-rw-r--r-- | gcc/tree-ssanames.h | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/tree-ssanames.h b/gcc/tree-ssanames.h index bb3b5e6..4fc9f69 100644 --- a/gcc/tree-ssanames.h +++ b/gcc/tree-ssanames.h @@ -47,13 +47,12 @@ struct GTY(()) ptr_info_def /* Value range information for SSA_NAMEs representing non-pointer variables. */ -struct GTY (()) range_info_def { - /* Minimum for value range. */ - double_int min; - /* Maximum for value range. */ - double_int max; - /* Non-zero bits - bits not set are guaranteed to be always zero. */ - double_int nonzero_bits; +struct GTY ((variable_size)) range_info_def { + /* Minimum, maximum and nonzero bits. */ + TRAILING_WIDE_INT_ACCESSOR (min, ints, 0) + TRAILING_WIDE_INT_ACCESSOR (max, ints, 1) + TRAILING_WIDE_INT_ACCESSOR (nonzero_bits, ints, 2) + trailing_wide_ints <3> ints; }; @@ -70,13 +69,13 @@ struct GTY (()) range_info_def { enum value_range_type { VR_UNDEFINED, VR_RANGE, VR_ANTI_RANGE, VR_VARYING }; /* Sets the value range to SSA. */ -extern void set_range_info (tree, enum value_range_type, double_int, - double_int); +extern void set_range_info (tree, enum value_range_type, const wide_int_ref &, + const wide_int_ref &); /* Gets the value range from SSA. */ -extern enum value_range_type get_range_info (const_tree, double_int *, - double_int *); -extern void set_nonzero_bits (tree, double_int); -extern double_int get_nonzero_bits (const_tree); +extern enum value_range_type get_range_info (const_tree, wide_int *, + wide_int *); +extern void set_nonzero_bits (tree, const wide_int_ref &); +extern wide_int get_nonzero_bits (const_tree); extern void init_ssanames (struct function *, int); extern void fini_ssanames (void); extern void ssanames_print_statistics (void); |