)]}'
{
  "commit": "1c26ea1cf595ae0aa86b1740c84ffadf30d08f2f",
  "tree": "ebc413f5058f736405fe38d9b0aa6642d81f087c",
  "parents": [
    "4a4c2394f1e7452b1af04aa1c518c10c63a416a9"
  ],
  "author": {
    "name": "Steve Urquhart",
    "email": "53908460+SteveUrquhart@users.noreply.github.com",
    "time": "Wed Dec 10 16:22:03 2025 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Dec 10 16:22:03 2025 -0500"
  },
  "message": "spirv-opt: fix adce when ns debug info present (#6217) (#6420)\n\nThis PR fixes two problems in ADCE while processing NonSemantic debug\ninfo. The first change is to treat DebugDeclare similarly to DebugValue:\nif a Variable is dead, replace it with OpUndef. This mirrors the\ntreatment of DebugValue for the Value operand. This fixes\nhttps://github.com/KhronosGroup/SPIRV-Tools/issues/6217.\n\nNext, we declare all DebugLocalVariable, DebugExpression, and\nDebugOperation instructions to be live at initialization since there is\nno reason to ever kill them. They do not have variables that, if\ndeclared live, would have follow-on impact to DCE. This fixes\nhttps://github.com/microsoft/DirectXShaderCompiler/issues/7874.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "be21d79d61fcd0579f4c0e97bc0c3c77a590c383",
      "old_mode": 33188,
      "old_path": "source/opt/aggressive_dead_code_elim_pass.cpp",
      "new_id": "54b100250becf58996cf048a0285427ac379bcb5",
      "new_mode": 33188,
      "new_path": "source/opt/aggressive_dead_code_elim_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "fd978f1df3a3e9219f97238a06a32edf50970d2d",
      "old_mode": 33188,
      "old_path": "test/opt/aggressive_dead_code_elim_test.cpp",
      "new_id": "0af2eb1eafd3af4d6896b1f3a417862c0be22eb7",
      "new_mode": 33188,
      "new_path": "test/opt/aggressive_dead_code_elim_test.cpp"
    }
  ]
}
