)]}'
{
  "commit": "4bd3742b0e2a2d7842e2adc1ecaa99bf066c7842",
  "tree": "4b87bbbb6440048a0d9eb2dfab9a5a1999df4e06",
  "parents": [
    "702603f46591f88a56168eaaa580ccc37fab2d80"
  ],
  "author": {
    "name": "Keshav Vinayak Jha",
    "email": "31160700+keshavvinayak01@users.noreply.github.com",
    "time": "Wed Apr 22 22:03:00 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 22 22:03:00 2026 +0530"
  },
  "message": "[LinalgExt] Rewriter for Torch::HigherOrderFlexAttentionOp -\u003e LinalgExt::OnlineAttentionOp (#23292)\n\nRewriter pattern for torch.hop_flex_attention -\u003e iree_linalg_ext.online_attention\n\nI ran the entire flex_attention_hop implementation with randomised input\ntensors, (Also see https://github.com/llvm/torch-mlir/pull/4366) through\naot.export and compared against eager mode, and I noticed no accuracy\nlosses (On CPU)\n\nTest: [Torch ops test PR\n](https://github.com/iree-org/iree-test-suites/pull/149)\n\n---------\n\nSigned-off-by: Keshav Vinayak Jha \u003ckeshavvinayakjha@gmail.com\u003e\nCo-authored-by: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2738c8d9fa99969c609ef25bf93b1c49135d32ed",
      "old_mode": 33188,
      "old_path": "compiler/plugins/input/Torch/InputConversion/CMakeLists.txt",
      "new_id": "77916eecc0cc39af36f324c9f478c0e0e7294e0c",
      "new_mode": 33188,
      "new_path": "compiler/plugins/input/Torch/InputConversion/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "b66a03dd79b0923f90836714e59947cc24e3a414",
      "old_mode": 33188,
      "old_path": "compiler/plugins/input/Torch/InputConversion/ConvertTorchUnstructuredToLinalgExt.cpp",
      "new_id": "259c0aa243929bc8a019c384bff5d01e6be70598",
      "new_mode": 33188,
      "new_path": "compiler/plugins/input/Torch/InputConversion/ConvertTorchUnstructuredToLinalgExt.cpp"
    },
    {
      "type": "modify",
      "old_id": "119c2aea46b6eac3997dec943f21c57a65a378ad",
      "old_mode": 33188,
      "old_path": "compiler/plugins/input/Torch/InputConversion/test/unstructured_linalg_ext.mlir",
      "new_id": "4a914675a5d2a3525024befdde47f88ed359d91f",
      "new_mode": 33188,
      "new_path": "compiler/plugins/input/Torch/InputConversion/test/unstructured_linalg_ext.mlir"
    },
    {
      "type": "modify",
      "old_id": "c9a294df22de58d212a66791a13f43f98b40e658",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/AggregatedOpInterfaceImpl.cpp",
      "new_id": "7068c70d30494c907dad1188ca5c40308f6b2697",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/AggregatedOpInterfaceImpl.cpp"
    },
    {
      "type": "modify",
      "old_id": "04d6c57c2fc3cbde9771ae26464e55b567a1ce74",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp",
      "new_id": "4756d921201de47ebd44948fa1602d155a9608e9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "12c9ec706b9ca0fcb731d48dda07ec98bb44b076",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir",
      "new_id": "4dfb0aaafb0b5b380e6120e545f181dc56198c81",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir"
    }
  ]
}
