From 3bb1161faf370fb5f6c8745e2c7d4d60cdc30835 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Thu, 19 Jul 2018 09:12:32 +0000 Subject: 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 --- gcc/tree.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/tree.h') diff --git a/gcc/tree.h b/gcc/tree.h index 79b6750..d15f117 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 > + 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 -- cgit v1.1