Decouple adjust_range_from_scev from vr_values and value_range_equiv.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 4 Aug 2020 10:31:23 +0000 (12:31 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Tue, 18 Aug 2020 19:10:53 +0000 (21:10 +0200)
commitea95ba8d582e967cdbfce95993e9bb6ad769c047
treec3d740d5773179e7c1a37ae46a67f72f18f49bbd
parentd367f5fcb579d21c3093cf5c464f5787fe584a1d
Decouple adjust_range_from_scev from vr_values and value_range_equiv.

gcc/ChangeLog:

* vr-values.c (check_for_binary_op_overflow): Change type of store
to range_query.
(vr_values::adjust_range_with_scev): Abstract most of the code...
(range_of_var_in_loop): ...here.  Remove value_range_equiv uses.
(simplify_using_ranges::simplify_using_ranges): Change type of store
to range_query.
* vr-values.h (class range_query): New.
(class simplify_using_ranges): Use range_query.
(class vr_values): Add OVERRIDE to get_value_range.
(range_of_var_in_loop): New.
gcc/vr-values.c
gcc/vr-values.h