)]}'
{
  "commit": "598a60e3f9d6b08a6384174e400bdc5fbe0f7f60",
  "tree": "34ed5536c4612f36ba78df578205c345a50ece49",
  "parents": [
    "ce4f09861f5845d88016fb61c695d94292446e69"
  ],
  "author": {
    "name": "Max191",
    "email": "44243577+Max191@users.noreply.github.com",
    "time": "Wed Oct 09 13:23:06 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 09 13:23:06 2024 -0700"
  },
  "message": "[Im2col] Allow multiple batch, M, and K dimensions on im2col result (#18593)\n\nThis PR adds support for multiple M and K dimensions in the result of\r\nthe im2col op. New metadata is added for correctly tracking the offsets\r\ninto the M and K dimensions along the multiple dimensions. New `m_strides`\r\nand `k_strides` fields are added to the op, which represent a basis for\r\nlinearizing the `m_offset` and `k_offset` fields.\r\n\r\nThe motivation for doing this is that flattening the M dimension can\r\ncreate an expand_shape op consumer of the resulting matmul. This can\r\ncause issues with fusion and distribution, so it is useful to be able to\r\nkeep the multiple M dimensions intact. This PR does not change any\r\nbehavior of Conv2DToIm2col pass, which will be done in a later PR.\r\n\r\n---------\r\n\r\nSigned-off-by: Max Dawkins \u003cmax.dawkins@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "49d6892d2954167709e59fc45eb7e3a600c7c900",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_apply_tiling_level.mlir",
      "new_id": "3cec8a9945dc84c04b62db4fdac7277302cc95b9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_apply_tiling_level.mlir"
    },
    {
      "type": "modify",
      "old_id": "23bddd84b5b2cb6b455a368249598f164e2cd987",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/pipeline_tile_and_fuse.mlir",
      "new_id": "fe7d73997b789692c0ea76c5dcad064850f33f0e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/pipeline_tile_and_fuse.mlir"
    },
    {
      "type": "modify",
      "old_id": "ad818b218b24d8d8bfbeec17014333f41e6ce3f2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp",
      "new_id": "dafb17fbca450e5f91319388316dac072c3011eb",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "0d0c44b4aa1123458f5c63b55b8a814687d082b6",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.td",
      "new_id": "e6aab962d10d3abc836d674e4f4d3c55dddcf78a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.td"
    },
    {
      "type": "modify",
      "old_id": "6af417389289ce5fc24f27373e7cda418a5d5dd7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/TilingInterfaceImpl.cpp",
      "new_id": "95ff9386e8e68ed37bd774d5b12ad78be2650886",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/TilingInterfaceImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "0643d8a6bb375513ae346307854c6b5561bf5a9b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir",
      "new_id": "6884e9fe2b36c8e7710d921c07cd82ba5909555f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir"
    },
    {
      "type": "modify",
      "old_id": "7fedef750ce26f3f9be8b1b890d7cde39b5dcd45",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/roundtrip.mlir",
      "new_id": "df94c9e37a3662e700e8adfb5f3b7f209871f21d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/roundtrip.mlir"
    },
    {
      "type": "modify",
      "old_id": "c9895befa455c5e3fb55302328e0818c8479940b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/AggregatedOpInterfaceImpl.cpp",
      "new_id": "5f886c71882d70aff710ffed134c8bd1955a5a17",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/AggregatedOpInterfaceImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "31daf1fb2c73d289a3621a74fec55196218fde3b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/ConvertConv2DToIm2ColOp.cpp",
      "new_id": "b4d4ccaa8fbd47d98bc3584555fabd60d629653f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/ConvertConv2DToIm2ColOp.cpp"
    },
    {
      "type": "modify",
      "old_id": "e827a7f3cfe4f900ed3d7d1e804f3cb550092121",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/test/conv2d_to_im2col.mlir",
      "new_id": "fd595473e2efc269c5d5b33ec789a0279fc3192c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/test/conv2d_to_im2col.mlir"
    },
    {
      "type": "modify",
      "old_id": "455381a21ea6533dfa3c7ba0151f056403a2b287",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/test/decompose_im2col.mlir",
      "new_id": "0316e8f34021d57dfe63c97e4f2629254681a20a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/test/decompose_im2col.mlir"
    },
    {
      "type": "modify",
      "old_id": "983ec338094d815a56a8eac907fc87fefe4c03d2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/test/tiling.mlir",
      "new_id": "f42a2fad2af89c860767c00596d299fb03bc8b99",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/test/tiling.mlir"
    },
    {
      "type": "modify",
      "old_id": "0da302b2275370e41d54da4e2bbab2bc04285b89",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/BUILD.bazel",
      "new_id": "0212d6e85a02c9204e4847e1571ceed661faa4bd",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b4c519c2ff077382b58318ae6f45189475434ae5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/CMakeLists.txt",
      "new_id": "564ba5bc2026bca84c35733b81308561518c7cfd",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "ed9524db8d4184c4360c3035dc7ad4e4467a3fdd",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/Utils.cpp",
      "new_id": "1aa2efa2f93b0de3e657feedd3c1a8e1ae2048ec",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/Utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "4d1b9868a77052f4ee6d774385833c85b5d7143f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/Utils.h",
      "new_id": "a89cb6760dbd172d2038ad648bcf49ee1501b95c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Utils/Utils.h"
    }
  ]
}
