)]}'
{
  "commit": "9d1b5965b3a69de8d02fea2d2c728e0dd2e1858e",
  "tree": "048d4a94850ad3716b3fae91a145978477b1558b",
  "parents": [
    "42ef74cd7dfe876e0595a726a677a5fabd76b06f"
  ],
  "author": {
    "name": "Bangtian Liu",
    "email": "liubangtian@gmail.com",
    "time": "Fri Jan 09 11:54:13 2026 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jan 09 11:54:13 2026 -0500"
  },
  "message": "Revert \"[LinalgExt] Generalize ArgCompareOp in GPUGeneralizeNamedOpsPass\" (#23074)\n\nReverts iree-org/iree#23015\n\n**Reason**\n\nDuring my process of plumbing arg_compare op along the VectorDistribute\npipeline, I found that working directly with ArgCompareOp (without\nconverting it to linalg.generic) will be a better solution.\n\nThe reason is that VectorDistribute performs two-level tiling:\n \n * Outer level: Partial reduction (PartialReductionOuterReduction)\n * Inner level: Inter-thread reduction (subgroup-wise)\n\nAdd PartialReductionOuterReduction support for ArgCompareOp directly, in\naddition to the existing PartialReductionOuterParallel (split-reduction)\nsupport. Extending the existing linalg.generic reduction support to\nhandle arg_reduce semantics would require drastic changes to the\ninfrastructure (upstream tilinginterface).\n\nWill add the core implementation back when after tiling we find it is\nuseful for the bufferization + vectorization + vector distribution\nphases.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e2384f4c0e1d81584663ab0bc80e18d265a81ea",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUGeneralizeNamedOps.cpp",
      "new_id": "295250efb490136aa2ca33231e104bf0b52d3f79",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUGeneralizeNamedOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "23d1313dabb686e37229a18a185d35dd5c0c4824",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/Passes.td",
      "new_id": "78352069d7a6c9f64d05a92aea8a1751eeafbf92",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "8a33c2cf074ac5ae21081f4d9b9915014e268069",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_generalize_named_ops.mlir",
      "new_id": "35716b4f860f51b0fd944a77eb52fb5874269249",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_generalize_named_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "1c27e241fd4930490adc62b67d98d025ab11ca37",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/BUILD.bazel",
      "new_id": "349a15d5107c62359e1559da64d958296c2b9496",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "3c5399e8d5b9c78237500616e8ce02c1d01ce5c4",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/CMakeLists.txt",
      "new_id": "0cd0015731abc02300dbb21798e8fe1a77881f3b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/CMakeLists.txt"
    },
    {
      "type": "delete",
      "old_id": "1cd81e714c2c2011340a4d311ec0f9e914509ff8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/GeneralizeLinalgExtOps.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "24152d96fc8d0777a486e8aedbefd95e90e79f73",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/Transforms.h",
      "new_id": "4cb6022e97a3e6eb6efb8b344e0e829f3f5c1fea",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/LinalgExt/Transforms/Transforms.h"
    }
  ]
}
