)]}'
{
  "commit": "016544ba03c93eb8f40924ac8eaa2da10f850dbd",
  "tree": "5c853d5e18d0869e77fd7353ed3dc9a0dca4fcec",
  "parents": [
    "145baba2b68b7a33a12bb4812dd07c44cc3b9249"
  ],
  "author": {
    "name": "Aldy Hernandez",
    "email": "aldy@quesejoda.com",
    "time": "Sat Aug 22 13:06:08 2026 +0000"
  },
  "committer": {
    "name": "Aldy Hernandez",
    "email": "aldy@quesejoda.com",
    "time": "Mon Aug 24 16:07:41 2026 +0200"
  },
  "message": "Abstract out can_duplicate_block_on_edge_p from tree-ssa-threadedge.cc [PR126896]\n\nBoth the jump threader\u0027s joiner registration and the upcoming phiopt\nreplication of PHI-of-compares joins need a way to determine if a\nblock on an edge can be duplicated.  Abstract out the code in\ntree-ssa-threadedge.cc to be reusable by the upcoming work.\n\n\tPR tree-optimization/126896\n\ngcc/ChangeLog:\n\n\t* cfghooks.cc (can_duplicate_block_on_edge_p): New.\n\t* cfghooks.h (can_duplicate_block_on_edge_p): Declare.\n\t* tree-ssa-threadedge.cc: Include cfghooks.h.\n\t(jump_threader::thread_across_edge): Use\n\tcan_duplicate_block_on_edge_p.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a219b4afce48a87c26eed29a0ee961bc427ea564",
      "old_mode": 33188,
      "old_path": "gcc/cfghooks.cc",
      "new_id": "9e20c8247523e88772f31f98a7ae243c4bab1eb1",
      "new_mode": 33188,
      "new_path": "gcc/cfghooks.cc"
    },
    {
      "type": "modify",
      "old_id": "aa7071ee013f6d162a971d3d2af855228aaa2214",
      "old_mode": 33188,
      "old_path": "gcc/cfghooks.h",
      "new_id": "8d7cb2dd4bc3ed175564bb7ba92801b0020d98de",
      "new_mode": 33188,
      "new_path": "gcc/cfghooks.h"
    },
    {
      "type": "modify",
      "old_id": "ce757b40c9cf2679c41f0e55c1cb99a9e9310c6a",
      "old_mode": 33188,
      "old_path": "gcc/tree-ssa-threadedge.cc",
      "new_id": "98184d1dc80033b4f7e7c1211b55548aada8b030",
      "new_mode": 33188,
      "new_path": "gcc/tree-ssa-threadedge.cc"
    }
  ]
}
