More Ranger cache tweaks
authorAndrew MacLeod <amacleod@redhat.com>
Mon, 2 Nov 2020 22:04:23 +0000 (17:04 -0500)
committerAndrew MacLeod <amacleod@redhat.com>
Tue, 3 Nov 2020 15:17:39 +0000 (10:17 -0500)
commitea7df355ca4a4571d07d1fc9528cccd1393c2420
treea6898fdc3b74d003b823e48bf9718981a469738e
parent220929c067717605cab96a9c5fe93e2e01532e51
More Ranger cache tweaks

This patch splits the individual value propagation out from fill_block_cache,
and calls it from set_global_value when the global value is updated.
This ensures the "current" global value is reflected in the on-entry cache.

* gimple-range-cache.cc (ssa_global_cache::get_global_range): Return
true if there was a previous range set.
(ranger_cache::ranger_cache): Take a gimple_ranger parameter.
(ranger_cache::set_global_range): Propagate the value if updating.
(ranger_cache::propagate_cache): Renamed from iterative_cache_update.
(ranger_cache::propagate_updated_value): New.  Split from:
(ranger_cache::fill_block_cache): Split out value propagator.
* gimple-range-cache.h (ssa_global_cache): Update prototypes.
(ranger_cache): Update prototypes.
gcc/gimple-range-cache.cc
gcc/gimple-range-cache.h