summaryrefslogtreecommitdiff
path: root/gcc/tree-ssanames.h
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-28 16:38:07 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-28 16:38:07 +0000
commit9c1be15e4ff46d52b6b56bec587619677299d74c (patch)
treef6544e39d39eeb01311174deeed4a87526ed444d /gcc/tree-ssanames.h
parent0c20fe492bc5b8c9259d21dd2dab03ff5155facb (diff)
downloadgcc-9c1be15e4ff46d52b6b56bec587619677299d74c.tar.gz
Add trailing_wide_ints and use it for range_info_def.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@205493 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssanames.h')
-rw-r--r--gcc/tree-ssanames.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/tree-ssanames.h b/gcc/tree-ssanames.h
index ff4f85adf26..23c988cb2a2 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. */
- widest_int min;
- /* Maximum for value range. */
- widest_int max;
- /* Non-zero bits - bits not set are guaranteed to be always zero. */
- widest_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, const widest_int &,
- const widest_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, widest_int *,
- widest_int *);
-extern void set_nonzero_bits (tree, const widest_int &);
-extern widest_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);