)]}'
{
  "commit": "4aaca883faaf685f4d2d0874fa1d2bf4600a60d0",
  "tree": "837906b69c35eed2478b08a5ec6c4aef18e1aec3",
  "parents": [
    "3d3cb37baf86f7fa931e3ad229d0c04e74744721"
  ],
  "author": {
    "name": "Zhewen Yu",
    "email": "zhewenyu@amd.com",
    "time": "Fri Apr 10 10:00:01 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Apr 10 09:00:01 2026 +0100"
  },
  "message": "[Codegen] Add pass to absorb swizzle hints into alloc attributes (#24000)\n\nPart 1/3 of enabling XOR swizzle with pipelining (#23919).\n\n**Overall plan:** `SwizzleHintOp` in the SSA chain blocks both\n`memref::multiBuffer` and `scf::pipelineForLoop`. The fix absorbs the\nhint into an alloc attribute before pipelining, preserves it through\nmulti-buffering, then re-inserts hints at leaf users afterward.\n\n**This PR:** Adds `AbsorbSwizzleHintToAllocPass`, which moves swizzle\ninfo from `SwizzleHintOp` to an `iree_codegen.swizzle` attribute on the\ndefining `memref.alloc` and erases the hint op. The pass is not yet\nwired into any pipeline.\n\nAssisted-by: Cursor (Claude)\n\nSigned-off-by: Yu-Zhewen \u003czhewenyu@amd.com\u003e",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "486e8cf09756df216bee28396e3572df360af715",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/AbsorbSwizzleHintToAlloc.cpp"
    },
    {
      "type": "modify",
      "old_id": "176c58475e9a540dc57e96495744904fd25933fd",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/BUILD.bazel",
      "new_id": "4a8911aaddf0d1ba5df2ac741dd74af386e16a64",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "93169e418fdc293a266436ab41297009ff58c24f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CMakeLists.txt",
      "new_id": "fe04f75bc112f89a08334554b01658d0646fd9b5",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "80e326feb8fcf6f72873d635c1a0090fe9343fd5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/Passes.td",
      "new_id": "17f5c625a1e894377e35d59153a8e6f0f1d5bb12",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "d4a287915bdfe0559560e05da50c18c19f5a8889",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/BUILD.bazel",
      "new_id": "e6ddc62cfd65775ad25759e927816f8f26261554",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "68ef6934be9e40d5e32ca88f0487f1104673d0b8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/CMakeLists.txt",
      "new_id": "0d5889e8d4295bc11986a01b0c1726636818cfe2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3c4658768ab03a14e1c720b31fc54c795eb229ef",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/absorb_swizzle_hint_to_alloc.mlir"
    }
  ]
}
