fold-const.c (int_const_binop_1): Abstract...
authorAldy Hernandez <aldyh@redhat.com>
Mon, 16 Jul 2018 06:49:39 +0000 (06:49 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 16 Jul 2018 06:49:39 +0000 (06:49 +0000)
commit5f9d2c5870c0eaed8447efca0a2d453624cebe7a
tree4ab834e2c0791a891484a44e2e4d8ae246f635c7
parent5933c6856604f4c83d8e4fadcd4627c1e0e4e500
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
gcc/ChangeLog
gcc/fold-const.c
gcc/fold-const.h
gcc/tree-vrp.c
gcc/tree-vrp.h