)]}'
{
  "commit": "ddc4bb3bcb024f9f0af8a73ace94cff9569f438c",
  "tree": "6995355a9687e4a114f6a8f8d119f65ac840c15b",
  "parents": [
    "77229133dabed0b927748f2a5ae1442b0e97f686"
  ],
  "author": {
    "name": "Tim Corringham",
    "email": "timothy.corringham@amd.com",
    "time": "Tue Aug 18 14:23:32 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Aug 18 14:23:32 2026 +0100"
  },
  "message": "[HLSL][SPIRV] Add IntrConvergent to convergent intrinsics (#211256)\n\nA number of spirv intrinsics need to run in convergent code flow but\nLLVM -O3 could sometimes lower these into divergent control flow as they\nwere missing the IntrConvergent attribute.\nThis change adds IntrConvergent to DXIL/SPIR-V resource intrinsics that\nrely on implicit derivatives, switches their Clang codegen to\nEmitIntrinsicCall(ID, Args, RetTy), and adds assembler/unit/codegen\ntests to verify the attribute is present and preserved.\n\nAssisted by Cursor\n\nFixes #211253\n\n---------\n\nCo-authored-by: Tim Corringham \u003ctcorring@amd.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0894bda19a4b3d3ee0e3c3f3237b752aafcc1e8c",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGCall.cpp",
      "new_id": "1fa47f175560e20d8a915ed112d91366e7a5d62e",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGCall.cpp"
    },
    {
      "type": "modify",
      "old_id": "83c0bb2ac684b90a4b1e47c71310e511f7b0dd0e",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGHLSLBuiltins.cpp",
      "new_id": "7b5fc07c1cfca67b86655a0ded6c6bff19ce4aa4",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGHLSLBuiltins.cpp"
    },
    {
      "type": "modify",
      "old_id": "b4449948af19df6072f1d0d3f4fb491f8c5bacd0",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CodeGenFunction.h",
      "new_id": "25606a51b6d71570e44df1a5d7262994bcd1d358",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CodeGenFunction.h"
    },
    {
      "type": "modify",
      "old_id": "d2ceb0a06727a14f99fccd6a94f60d14858a8ccb",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-CalculateLevelOfDetail.hlsl",
      "new_id": "cbd62ccb178b2558fcca6c64f70887cb131881c6",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-CalculateLevelOfDetail.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b57d8642f860bda5a98ea4ed4be60530991fa112",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-Gather.hlsl",
      "new_id": "8859a59bd20d6f62db7684a8c3efd29db0339748",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-Gather.hlsl"
    },
    {
      "type": "modify",
      "old_id": "a9b28f80eeeada33f329a1f6e58e8b2b7b47009b",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-Load.hlsl",
      "new_id": "96e0757950c439bfd768ed13a50ddc9c400e0033",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-Load.hlsl"
    },
    {
      "type": "modify",
      "old_id": "7c76091ea254cc7fd44f570d093ad092e3c39228",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-Sample.hlsl",
      "new_id": "9cf1a635da3f894689a15439451753ae9293510a",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-Sample.hlsl"
    },
    {
      "type": "modify",
      "old_id": "c92bb7ee74c8cd2e14f46f51c0d5c05a729e00d4",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-SampleBias.hlsl",
      "new_id": "37fb5af085e14296c70337239ce6f166751e0f9f",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-SampleBias.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b2b4f2ff69d47305a53eb1cc6aa3d1596e5ec975",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-SampleCmp.hlsl",
      "new_id": "f7003a22c4ec0f5f1d5ea42f0bcc2d83b02707b3",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-SampleCmp.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b80e850ab4843c83251bc82bdf6a0d429ed3a803",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-SampleCmpLevelZero.hlsl",
      "new_id": "0bb34720a82e90ebaeb649adc5152c75f22f2871",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-SampleCmpLevelZero.hlsl"
    },
    {
      "type": "modify",
      "old_id": "77c19acf8cd8d7065e4426114066d681fe9ad3ac",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl",
      "new_id": "616009c99a7d0972796e11386803301a5753643a",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl"
    },
    {
      "type": "modify",
      "old_id": "efff407a538a70a163859f240a52dedd8baa47a0",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Textures-SampleLevel.hlsl",
      "new_id": "2e369a86c488fad8b778a0cb41bb3fd00e662a9c",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Textures-SampleLevel.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9c9b2032035e3de5dc60d6e0b95e9495e2b0d067",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/IR/IntrinsicsDirectX.td",
      "new_id": "7f631ed973e688c520f5ec201105786d51ef87b1",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/IR/IntrinsicsDirectX.td"
    },
    {
      "type": "modify",
      "old_id": "b88d638be101907465215c664cf7874f6bbb27da",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/IR/IntrinsicsSPIRV.td",
      "new_id": "b4dcfcd956b99944adc270a1bd813fc7c92bb95c",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/IR/IntrinsicsSPIRV.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6bb1fac70e4c53ff8a5a958e8f43c4f4e8a97867",
      "new_mode": 33188,
      "new_path": "llvm/test/Assembler/resource-intrinsic-attributes.ll"
    },
    {
      "type": "modify",
      "old_id": "4556c8e113e1425a0b362d7f27e5d98cfeb0f5bf",
      "old_mode": 33188,
      "old_path": "llvm/unittests/IR/IntrinsicsTest.cpp",
      "new_id": "47a1ea7d739062f7dd8ef9a17ac7987adf50fa09",
      "new_mode": 33188,
      "new_path": "llvm/unittests/IR/IntrinsicsTest.cpp"
    }
  ]
}
