)]}'
{
  "commit": "398a054b92ca71df2d5f7bf7d74de39d9b14137f",
  "tree": "963ad01d55e6381a0b264c4dc02e43cb091abfc9",
  "parents": [
    "5e1a57678a4c87e9bff426684774413f93ca5056"
  ],
  "author": {
    "name": "Lukas Sommer",
    "email": "lukas.sommer@amd.com",
    "time": "Wed May 20 08:24:04 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed May 20 08:24:04 2026 +0200"
  },
  "message": "[VectorDistribute] Rework LDS operand promotion (#24408)\n\nRework how promotion of operands to LDS works in the VectorDistribute\npipeline.\n\nSo far, `linalg.copy` operations were inserted early in the pipeline.\nNow, we skip the insertion of `linalg.copy` for operands (we keep the\nbehavior for results). Instead, the analysis from\nhttps://github.com/iree-org/iree/pull/24227 propagates the promotion\ntypes upwards from the compute operations that actually configure the\npromotion of operands up to the operations accessing the data in memory\n(`transfer_read`, `gather`) when we reach `GPUVectorAlloc`. Based on the\npropagated information, the necessary promotion to LDS can be inserted.\n\nLayout conflicts are still resolved through an LDS roundtrip at the\nconflict point.\n\nAssisted-by: Codex\n\n---------\n\nSigned-off-by: Lukas Sommer \u003clukas.sommer@amd.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "22166dd60137052d101b468d5192dafd081f8525",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUNestedLayoutUtils.cpp",
      "new_id": "504bff24173c01af46292b0802a3cdb2d1e8e6d4",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUNestedLayoutUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "7650aeaed79901b3e09b3d4d803cd68ffa1d9963",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUNestedLayoutUtils.h",
      "new_id": "a2f25ce45f759688bae3f08cf9885026ca8e6a88",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUNestedLayoutUtils.h"
    },
    {
      "type": "modify",
      "old_id": "69102dd6b18f26728f06262317cf0eaac9a276fa",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUPromoteMatmulOperands.cpp",
      "new_id": "803ff5471452a8b385a5950d4b656927ffff4954",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUPromoteMatmulOperands.cpp"
    },
    {
      "type": "modify",
      "old_id": "7e9af1eda8293034b06193b2d0c54e9816244376",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUVectorAlloc.cpp",
      "new_id": "eda33e269891726467d00feabfd321940c9e4634",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUVectorAlloc.cpp"
    },
    {
      "type": "modify",
      "old_id": "3172d2f16846f06c2dff75e8d6327e2735306c78",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/Passes.td",
      "new_id": "2802cf94f280d65f928a51105547c49c7db501b2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "bd94da2558a63fac89fc8a4b4d5242d9a7786f2d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_promote_matmul_operands.mlir",
      "new_id": "90f5e870b6c786b30ccfb728e3d346d5e3e92a7a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_promote_matmul_operands.mlir"
    },
    {
      "type": "modify",
      "old_id": "272022ece981841ec530a6f1e68e382fa24af770",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_vector_alloc.mlir",
      "new_id": "1f767187a5bb8a2e408f565256a861ca75a13a36",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_vector_alloc.mlir"
    },
    {
      "type": "modify",
      "old_id": "9d8bf00e00d86c9d275dc88e7d76ec8eccfe3c60",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/GPU/IR/DerivedConfigUtils.cpp",
      "new_id": "cbf7858ca5315087e2c73080d5c0d401451afac0",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/GPU/IR/DerivedConfigUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "2c2c9bdc8ce7a4f0479ba1cf433d63883f85dc5a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/GPU/IR/DerivedConfigUtils.h",
      "new_id": "99749bb09ef14650b44f57501e6362f03ec7436b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/GPU/IR/DerivedConfigUtils.h"
    },
    {
      "type": "modify",
      "old_id": "987c8c0fdb9ba46e6189239c35ff1392f50940ea",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUConfigureTensorLayouts.cpp",
      "new_id": "91cb8cbd10201ca007462e5b9a0948ca65b0e813",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/LLVMGPUConfigureTensorLayouts.cpp"
    },
    {
      "type": "modify",
      "old_id": "5b49c20ebc4ff3c202cac0551a1c7c3404daf3c8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp",
      "new_id": "4aac152766003dd01d6b8a92da7141c7dc9807e7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp"
    }
  ]
}
