https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125758
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Andrew Macleod <[email protected]>: https://gcc.gnu.org/g:604a45f74909987929eb77dfc1119fa94aedb1e1 commit r17-2181-g604a45f74909987929eb77dfc1119fa94aedb1e1 Author: Andrew MacLeod <[email protected]> Date: Thu Jun 18 12:23:42 2026 -0400 Split ranger timestamp into 2 values. Ranger's cache currently uses a timestamp to determine if a value is out of date and needs recalculating. This patch splits the timestmap into 2 timestamps: - one for when the value was stored last, and - one for when the vlaue was last calculated. This allows us to differentiate when a value is recalculated and does not change from one which did change the resulting value. PR tree-optimization/125758 gcc/ * gimple-range-cache.cc (struct time_stamp): New. (set_timestamp): Deleted. (set_timestamp_stored): New. (set_timestamp_calc): New. (set_always_current): Remove a parameter. (temporal_value): Remove. (temporal_value_stored): New., (temporal_value_calc): New. (m_timestamp): Change to vector of struct time_stamp. (temporal_cache::temporal_cache): Adjust. (temporal_cache::current_p): Use both timestamps. (temporal_cache::set_always_current): 0 means always current. (temporal_cache::always_current_p): Check for 0. (ranger_cache::get_global_range): adjust params. (ranger_cache::update_consumers): Set stored timestamp. (ranger_cache::set_global_range): Use new timestamps.
