)]}'
{
  "commit": "62872f4481e1f896e4eae061492d3f48fc3aa28a",
  "tree": "ff872da439ae624fa6a7de4d3ee48a302ebf308d",
  "parents": [
    "551ef314d23681ec5649b268ac3b5654ebf461c7"
  ],
  "author": {
    "name": "Bangtian Liu",
    "email": "liubangtian@gmail.com",
    "time": "Thu Apr 16 16:49:15 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 16 16:49:15 2026 -0400"
  },
  "message": "[Codegen][GPU] Add DistributeArgCompare pattern (#23793)\n\nThis PR adds the `DistributeArgCompare `pattern to distribute\n`iree_vector_ext.arg_compare` operations across GPU threads and\nsubgroups.\n \nFor supported comparators, we use a ballot-based approach that leverages\n`gpu.subgroup_reduce` + `gpu.ballot` for reduction.\nSupported comparators include:\n1. Direct comparison on values (e.g., arith.cmpf ogt for argmax)\n2. Same unary op applied to both arguments before comparison (e.g.,\nmath.absf for argmax of absolute values)\n\nUnsupported comparators fall back to the portable butterfly shuffle\napproach. Currently, this is mainly used for argmax/argmin operations,\nbut we can extend support for additional comparators as needed.\n\nIssue: #23005\nAssisted-by:  [Claude Code](https://claude.ai/code)\n\n---------\n\nSigned-off-by: Bangtian Liu \u003cliubangtian@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "686b074580721c3b398c686d3aeb5172adca2065",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/BUILD.bazel",
      "new_id": "30ab59ef0a542f3d656607fe85b61aac1de6cf74",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "851acee2602c7938ee645d2977fee28b0eab33ff",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/CMakeLists.txt",
      "new_id": "38831593f80b90622e57c5225e82056d9d46d0a5",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "a24daa397bf67fe03663adc9e8f4029a7046f7a8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUNestedLayoutDistributionPatterns.cpp",
      "new_id": "ccd3c5e867bb3434b9ffc8dd0b78e0666b696133",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUNestedLayoutDistributionPatterns.cpp"
    },
    {
      "type": "modify",
      "old_id": "b22d4dc84a023908febb6ef8f835a064234017fe",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/BUILD.bazel",
      "new_id": "216b5bb77d5e9b9858adc0d0bfbd6a77e5e27abe",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7eab23eda612abe4263405f54fa31aadff7a0d13",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/CMakeLists.txt",
      "new_id": "094701ef4ab6a8f2285f70a32c0383450ebefe7a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9e860ff0fe02bc2c0eadc34cf41a73c94ff7292",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_nested_layout_vector_distribution_argcompare.mlir"
    }
  ]
}
