diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2018-07-19 09:12:32 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2018-07-19 09:12:32 +0000 |
commit | 3bb1161faf370fb5f6c8745e2c7d4d60cdc30835 (patch) | |
tree | 207eeddd30feb310bbc8f4339783c1b9a6aefd4e /gcc/tree.h | |
parent | 30ae6662408271f96a97d28f684022c413b71063 (diff) |
wide-int.h (widest2_int): New.
* wide-int.h (widest2_int): New.
* gimple-fold.c (arith_overflowed_p): Use it.
* tree.h (widest2_int_cst): New.
* tree-vrp.c (wide_int_binop_overflow): Rename from
vrp_int_const_binop.
Rewrite to work on trees.
(extract_range_from_multiplicative_op_1): Abstract code to...
(wide_int_range_min_max): ...here.
(wide_int_range_cross_product): ...and here.
(extract_range_from_binary_expr_1): Abstract overflow code to...
(wide_int_range_cross_product_wrapping): ...here.
* tree-vrp.h (wide_int_range_cross_product): New.
(wide_int_range_cross_product_wrapping): New.
From-SVN: r262874
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index 79b675025d9..d15f117b513 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -5416,6 +5416,11 @@ namespace wi }; } +/* Used to convert a tree to a widest2_int like this: + widest2_int foo = widest2_int_cst (some_tree). */ +typedef generic_wide_int <wi::extended_tree <WIDE_INT_MAX_PRECISION * 2> > + widest2_int_cst; + /* Refer to INTEGER_CST T as though it were a widest_int. This function gives T's actual numerical value, influenced by the |