)]}'
{
  "commit": "b518b35c39adf84a44275a8a2fbde2cf49126f6e",
  "tree": "ff79215dd1c5f28de92f858eee3ca082fa46d51d",
  "parents": [
    "dfddea40ffda6db4a361b88705c20e7349b40e7b"
  ],
  "author": {
    "name": "Vivian Zhang",
    "email": "zhyuhang88@gmail.com",
    "time": "Wed Apr 08 15:30:22 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 08 15:30:22 2026 -0700"
  },
  "message": "[Preprocessing] Add pass to swap strided insert_slice with contraction (#23979)\n\nAdd `iree-preprocessing-swap-strided-insert-slice-with-contraction` pass\nthat swaps a strided `tensor.insert_slice` into zeros with its consumer\ncontraction for 1x1 backward convolutions.\n\nFor 1x1 backward data convolutions the strided insert_slice commutes\nwith the contraction because the reduction dimensions have loop bound 1.\nThis pass reorders the computation: the contraction operates on the\nsmall un-scattered source (e.g., 2x8x8 instead of 2x18x18 for stride 2),\nthen the result is scattered into the output. This reduces contraction\nFLOPs by ~4x.\n\nThis PR is a partial implementation for\nhttps://github.com/iree-org/iree/issues/23976.\n\n---------\n\nSigned-off-by: yzhang93 \u003czhyuhang88@gmail.com\u003e\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "341a9bf3b60fb15bd44ca1d5524e169fa8e13407",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/BUILD.bazel",
      "new_id": "8af8ab80cd4697fc9575cbd13e2a148470878a8b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "73148a7805a1b9d783397aeebe6fb32882f78324",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/CMakeLists.txt",
      "new_id": "f9fc984529963c25e4fe846937e3286693ff8f5f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "f9e1290795f13ef412048ebba0f8659f6f9fb7ac",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/Passes.td",
      "new_id": "3cb001e328222899c5fd8f47b5e764b3d65cbcdf",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/Passes.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2f72d931fd45a199ff43fd244d0625290faab77c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/SwapStridedInsertSliceWithContraction.cpp"
    },
    {
      "type": "modify",
      "old_id": "9ae24d73e783d8d3d61ea5a2f1e5fe70dd17aeb8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/test/BUILD.bazel",
      "new_id": "83847209db02b92ac044a7e4779cc895cdb80691",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "75d31de4d71801c9f9c0d7d495373943324aad3e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/test/CMakeLists.txt",
      "new_id": "5ef23b7cfc465408e4b8b863e7afe40ffdb09dd2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dbf1bebef96466ea7bee51283f11c099843fc965",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/test/swap_strided_insert_slice_with_contraction.mlir"
    }
  ]
}
