diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2018-07-16 06:49:39 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2018-07-16 06:49:39 +0000 |
commit | 5f9d2c5870c0eaed8447efca0a2d453624cebe7a (patch) | |
tree | 4ab834e2c0791a891484a44e2e4d8ae246f635c7 /gcc/fold-const.h | |
parent | 5933c6856604f4c83d8e4fadcd4627c1e0e4e500 (diff) | |
download | gcc-5f9d2c5870c0eaed8447efca0a2d453624cebe7a.zip gcc-5f9d2c5870c0eaed8447efca0a2d453624cebe7a.tar.gz gcc-5f9d2c5870c0eaed8447efca0a2d453624cebe7a.tar.bz2 |
fold-const.c (int_const_binop_1): Abstract...
* fold-const.c (int_const_binop_1): Abstract...
(wide_int_binop): ...wide int code here.
(poly_int_binop): ...poly int code here.
(tree_binop): ...tree code here.
* fold-const.h (wide_int_binop): New.
* tree-vrp.c (vrp_int_const_binop): Call wide_int_binop.
Remove useless PLUS/MINUS_EXPR case.
(zero_nonzero_bits_from_vr): Move wide int code...
(zero_nonzero_bits_from_bounds): ...here.
(extract_range_from_binary_expr_1): Move mask optimization code...
(range_easy_mask_min_max): ...here.
* tree-vrp.h (zero_nonzero_bits_from_bounds): New.
(range_easy_mask_min_max): New.
From-SVN: r262676
Diffstat (limited to 'gcc/fold-const.h')
-rw-r--r-- | gcc/fold-const.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fold-const.h b/gcc/fold-const.h index b322575..1b9ccc0 100644 --- a/gcc/fold-const.h +++ b/gcc/fold-const.h @@ -100,7 +100,10 @@ extern tree fold_bit_and_mask (tree, tree, enum tree_code, tree, enum tree_code, tree, tree, tree, enum tree_code, tree, tree, tree *); extern tree fold_read_from_constant_string (tree); -extern tree int_const_binop (enum tree_code, const_tree, const_tree); +extern bool wide_int_binop (wide_int &res, enum tree_code, + const wide_int &arg1, const wide_int &arg2, + signop, wi::overflow_type *); +extern tree int_const_binop (enum tree_code, const_tree, const_tree, int = 1); #define build_fold_addr_expr(T)\ build_fold_addr_expr_loc (UNKNOWN_LOCATION, (T)) extern tree build_fold_addr_expr_loc (location_t, tree); |