)]}'
{
  "commit": "f289d047f49fb60488301ec62bafab85573668cc",
  "tree": "786e95a4f45dfc076ad0818cca804b05d7b2bc90",
  "parents": [
    "132103f44d719f8df456c4c7b2658278dc422dc6"
  ],
  "author": {
    "name": "Steven Perron",
    "email": "stevenperron@google.com",
    "time": "Tue Feb 25 15:54:39 2025 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Feb 25 15:54:39 2025 -0500"
  },
  "message": "[OPT] Update DebugDeclare if the var is not an OpVariable (#6014)\n\nWhen inlining, DXC can pass the result of an OpAccessChain as a\nparameter. Even if this is not valid SPIR-V, HLSL allows this for the\n`this` pointer in member function. Part of legalizing is to inline these\nfunctions.\n\nWhen this happens, the `var` operand on a debug declare for the parameter\nwill be replaced by the result of the OpAccessChain. This in invalid.\nThe debug declare needs the variable with the indexes.\n\nThis commit add a pass over each function after inlining that will fix\nup the debug declares that are invalid in this way.\n\nFixes https://github.com/microsoft/DirectXShaderCompiler/issues/5191",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bef45017f21c1c38eb718f300ddba3bfaacb00f8",
      "old_mode": 33188,
      "old_path": "source/opt/inline_exhaustive_pass.cpp",
      "new_id": "9cdea43d7d8e6dcaca788041366aeceb31d7009a",
      "new_mode": 33188,
      "new_path": "source/opt/inline_exhaustive_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "318643341a47887101f76538b16b7dd7e5221cbc",
      "old_mode": 33188,
      "old_path": "source/opt/inline_pass.cpp",
      "new_id": "193e276ff2f04d490c9de0b14ea6d659b272be6e",
      "new_mode": 33188,
      "new_path": "source/opt/inline_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "1c9d60e32d73713140ceeaa6954c696e3285e6c4",
      "old_mode": 33188,
      "old_path": "source/opt/inline_pass.h",
      "new_id": "7bea31d1d517bac13b1ef5d85faa14a650824194",
      "new_mode": 33188,
      "new_path": "source/opt/inline_pass.h"
    },
    {
      "type": "modify",
      "old_id": "4879a7db5fbf655a0dc48d82e0a11afc0ca2f787",
      "old_mode": 33188,
      "old_path": "source/val/validate_function.cpp",
      "new_id": "50ae0a2dbd80b561f89ba11a9829f8fba3eb7c44",
      "new_mode": 33188,
      "new_path": "source/val/validate_function.cpp"
    },
    {
      "type": "modify",
      "old_id": "ef7ac37d181379da68ddeaa2ab2caf8c71eae27e",
      "old_mode": 33188,
      "old_path": "test/opt/inline_test.cpp",
      "new_id": "ecfa7c772dd8adfce37f187134cc3776147a3d4b",
      "new_mode": 33188,
      "new_path": "test/opt/inline_test.cpp"
    }
  ]
}
