)]}'
{
  "commit": "9abb194732777e849290dbd35e874bf3b91ba17e",
  "tree": "8d00c6e272a7641d037909a58221abf3908eb8c0",
  "parents": [
    "d6f63db7031c181c146963206da772445704d5a0"
  ],
  "author": {
    "name": "Steven Perron",
    "email": "stevenperron@google.com",
    "time": "Mon Sep 14 16:22:59 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 14 16:22:59 2026 -0400"
  },
  "message": "spirv-opt: Fix memory leaks on ID overflow (#6887)\n\nSeveral passes clone a basic block or an instruction into a raw pointer\nand only transfer ownership to the module later. When ID allocation\nfails part way through, these passes bail out before ownership is\ntransferred, and the clone is leaked. The solution is to take ownership\nimmediately.\n\nThese leaks are found in the presubmits for #6881.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "edcf55126b19f3bf9625d25d076463b16ceba2f0",
      "old_mode": 33188,
      "old_path": "source/opt/fold_spec_constant_op_and_composite_pass.cpp",
      "new_id": "1ae3b41ea4513192b89c3b70588bfbb91939d723",
      "new_mode": 33188,
      "new_path": "source/opt/fold_spec_constant_op_and_composite_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "16a0ea9d3468e8da1b46de60cf7fdce1b6077197",
      "old_mode": 33188,
      "old_path": "source/opt/loop_unroller.cpp",
      "new_id": "759cce94696daafe103429e97a218882822c1a94",
      "new_mode": 33188,
      "new_path": "source/opt/loop_unroller.cpp"
    },
    {
      "type": "modify",
      "old_id": "b49f243caaec09adffff2eb50a988337d97640c4",
      "old_mode": 33188,
      "old_path": "source/opt/loop_unswitch_pass.cpp",
      "new_id": "fef3c7730edce7829ceb498421294581b29ed71c",
      "new_mode": 33188,
      "new_path": "source/opt/loop_unswitch_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "ced68de718659041c98fa87c089dc66a2feefb24",
      "old_mode": 33188,
      "old_path": "source/opt/loop_utils.cpp",
      "new_id": "dffb47fc6fc7e3992f9ece58001fb98980737525",
      "new_mode": 33188,
      "new_path": "source/opt/loop_utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "007eeffc1c9bfb64efb8c2c898acd40be1bd1942",
      "old_mode": 33188,
      "old_path": "source/opt/replace_desc_array_access_using_var_index.cpp",
      "new_id": "a3d1a06afa53637c54b338c7d65c0a375905a7d8",
      "new_mode": 33188,
      "new_path": "source/opt/replace_desc_array_access_using_var_index.cpp"
    },
    {
      "type": "modify",
      "old_id": "47296faa092f83551bbf72bc10d95388595c0a60",
      "old_mode": 33188,
      "old_path": "source/opt/split_combined_image_sampler_pass.cpp",
      "new_id": "0d2af3b034dba019afdeba88311d54058a460466",
      "new_mode": 33188,
      "new_path": "source/opt/split_combined_image_sampler_pass.cpp"
    }
  ]
}
