)]}'
{
  "commit": "041f4120989eedbcdc25ec61c2289be3d390a7dc",
  "tree": "c685e5a56386368bbbf1d10f74da39e709790785",
  "parents": [
    "4f10faac5f0943f9c21c8845a9a6958f0fc13371"
  ],
  "author": {
    "name": "Jorn Tuyls",
    "email": "jorn.tuyls@gmail.com",
    "time": "Wed Apr 15 11:47:11 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 15 11:47:11 2026 +0200"
  },
  "message": "Fix ExpandDestinationForallOp rejecting non-store users (#24073)\n\nThe pattern only needs to validate store users for expandability.\nNon-store users (e.g. tensor.dim) are safe because the hoisted\ncollapse_shape preserves the original result type.\n\nPreviously, any non-store user caused the pattern to bail out. With\ndynamic shapes on gfx1100, tensor.dim ops on the forall result blocked\nthe pattern, preventing the WMMAR3 accumulator reshape from folding into\nthe output buffer and causing a shared memory overflow (80KB \u003e 65KB).\n\nSigned-off-by: Jorn \u003cjorn.tuyls@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cbfa98e7de9c079d3a61e86b09849766323c6665",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/Transforms.cpp",
      "new_id": "ba7558cf7a5cd69d448f463990c4d5b58d419e4e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/Transforms.cpp"
    },
    {
      "type": "modify",
      "old_id": "9bc367d129c5a7bff8f24a51471abd34280a0bf2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/propagate_reshapes_by_expansion.mlir",
      "new_id": "e2e8028b5557fb3ae392ed61aee3ec860fdbb1d9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/propagate_reshapes_by_expansion.mlir"
    },
    {
      "type": "modify",
      "old_id": "107c81fe4b416e20af4fc76051ea3449df7c939f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/BUILD.bazel",
      "new_id": "20287704e2cc718b25da7af7743ceefd0681e539",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "20b682f566cbb14493b8436e37e3575f45e42b66",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/CMakeLists.txt",
      "new_id": "ccc003e9c3627a4a258a4bda91a7db7f004631cb",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ab44b534b710e81f1be7624ace97ceec6279c672",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/pipeline_tile_and_fuse_gfx1100.mlir"
    },
    {
      "type": "modify",
      "old_id": "903d1921010ea1b3a930cb133c697708ea4e3a5c",
      "old_mode": 33188,
      "old_path": "tests/e2e/regression/BUILD.bazel",
      "new_id": "ca14281a292a0403ab33fb108e78d37553481d39",
      "new_mode": 33188,
      "new_path": "tests/e2e/regression/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "0677fe5d5d7638a54c9096aa21b854cbd24d2024",
      "old_mode": 33188,
      "old_path": "tests/e2e/regression/CMakeLists.txt",
      "new_id": "d040e6faaaf9dc8fe18177da0e400a286db5f49a",
      "new_mode": 33188,
      "new_path": "tests/e2e/regression/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b7be7377e3d1dbb629c94b28578ef606338adc68",
      "new_mode": 33188,
      "new_path": "tests/e2e/regression/dynamic_batch_matmul_gfx1100.mlir"
    }
  ]
}
