Add range_on_entry/exit to value_query API.
commit39fe620963b29e7bdc8dcfa2037490df26b4edf2
authorAndrew MacLeod <amacleod@redhat.com>
Wed, 13 Mar 2024 18:18:48 +0000 (13 14:18 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Tue, 30 Apr 2024 21:19:57 +0000 (30 17:19 -0400)
tree306a72fa5b36955edabcf70160912511587b4f19
parent0ade358cd72ffa591dd2f1404765b379bbf709d4
Add range_on_entry/exit to value_query API.

Add range_on_entry and range_on_exit to the value_query API.  These will
also work with generic trees like range_of_expr does.

* gimple-range.cc (gimple_ranger::range_on_entry): Adjust for new
API and support non-SSA expressions.
(gimple_ranger::range_on_exit): Ditto.
* gimple-range.h (range_on_entry, range_on_exit): Adjust API.
* value-query.cc (range_query::range_on_entry): New.
(range_query::range_on_exit): New.
(range_query::value_on_entry): New.
(range_query::value_on_exit): New.
(range_query::invoke_range_of_expr): New.
(range_query::get_tree_range): Allow stmt, on_entry or on_exit
range queries.
SSA_NAMES should invoke range_of_expr if possible.
* value-query.h (class range_query): Adjust prototypes.
gcc/gimple-range.cc
gcc/gimple-range.h
gcc/value-query.cc
gcc/value-query.h