)]}'
{
  "commit": "b484690a29147fa190ccb74e0253b2ac89a4ee6d",
  "tree": "e8d9dd5e7910565f904ab17bf62bee73d86efa87",
  "parents": [
    "604a45f74909987929eb77dfc1119fa94aedb1e1"
  ],
  "author": {
    "name": "Andrew MacLeod",
    "email": "amacleod@redhat.com",
    "time": "Tue Jun 30 10:43:07 2026 -0400"
  },
  "committer": {
    "name": "Andrew MacLeod",
    "email": "amacleod@redhat.com",
    "time": "Mon Jul 06 20:12:20 2026 -0400"
  },
  "message": "Ranger stmt prefill should process dependencies first.\n\nRangers stmt prefill is designed to prevent deep recursion through the\nnormal range_of_stmt/range_of_expr/Range_on_entry cycle when\ndependencies have not yet been processed.  It neglects to do this for\nPHI arguments and if the order is wrong, it can undo everything it is\nsuppose to solve.\n\nDo a proper DFS stack simulation to process all operands properly.\n\n\tPR tree-optimization/125758\n\tgcc/\n\t* gimple-range.cc (gimple_ranger::gimple_ranger): Create prefill stack.\n\t(gimple_ranger::gimple_ranger): Dispose of prefill stack.\n\t(gimple_ranger::prefill_name): Maybe push name on prefill stack.\n\t(gimple_ranger::prefill_stmt_dependencies): Implement a DFS\n\tstack for dependency satisfaction.\n\t* gimple-range.h (struct prefill_frame): New.\n\t(m_prefill_stack): New.\n\t(prefill_name): Sadjust parameters.\n\t(m_active_prefill): New.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71e9038467d5dc263c97583fe6c2b67eaaeef376",
      "old_mode": 33188,
      "old_path": "gcc/gimple-range.cc",
      "new_id": "37390c5df276c7cccfbc81c95dbcfa9a2d48d2d3",
      "new_mode": 33188,
      "new_path": "gcc/gimple-range.cc"
    },
    {
      "type": "modify",
      "old_id": "b7df438e3691bf9176ccbd2f6c4b2d2e31dee416",
      "old_mode": 33188,
      "old_path": "gcc/gimple-range.h",
      "new_id": "a74b48aafe6808ca05204b10098c2109851f1351",
      "new_mode": 33188,
      "new_path": "gcc/gimple-range.h"
    }
  ]
}
