)]}'
{
  "commit": "604a45f74909987929eb77dfc1119fa94aedb1e1",
  "tree": "26f3bdd23ca74a3303ec78ead329056cd26790bb",
  "parents": [
    "5d7c74258d3a4b95cd5022acd5fa51381d922a40"
  ],
  "author": {
    "name": "Andrew MacLeod",
    "email": "amacleod@redhat.com",
    "time": "Thu Jun 18 12:23:42 2026 -0400"
  },
  "committer": {
    "name": "Andrew MacLeod",
    "email": "amacleod@redhat.com",
    "time": "Mon Jul 06 20:12:20 2026 -0400"
  },
  "message": "Split ranger timestamp into 2 values.\n\nRanger\u0027s cache currently uses a timestamp to determine if a value is out\nof date and needs recalculating.  This patch splits the timestmap into\n2 timestamps:\n  - one for when the value was stored last, and\n  - one for when the vlaue was last calculated.\nThis allows us to differentiate when a value is recalculated and does not\nchange from one which did change the resulting value.\n\n\tPR tree-optimization/125758\n\tgcc/\n\t* gimple-range-cache.cc (struct time_stamp): New.\n\t(set_timestamp): Deleted.\n\t(set_timestamp_stored): New.\n\t(set_timestamp_calc): New.\n\t(set_always_current): Remove a parameter.\n\t(temporal_value): Remove.\n\t(temporal_value_stored): New.,\n\t(temporal_value_calc): New.\n\t(m_timestamp): Change to vector of struct time_stamp.\n\t(temporal_cache::temporal_cache): Adjust.\n\t(temporal_cache::current_p): Use both timestamps.\n\t(temporal_cache::set_always_current): 0 means always current.\n\t(temporal_cache::always_current_p): Check for 0.\n\t(ranger_cache::get_global_range): adjust params.\n\t(ranger_cache::update_consumers): Set stored timestamp.\n\t(ranger_cache::set_global_range): Use new timestamps.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "78f18a26f1b7a85f63b9482477f7eb58d5fa2171",
      "old_mode": 33188,
      "old_path": "gcc/gimple-range-cache.cc",
      "new_id": "fc5793ccf6986df39a718a0f281aa73a2203c662",
      "new_mode": 33188,
      "new_path": "gcc/gimple-range-cache.cc"
    }
  ]
}
