)]}'
{
  "commit": "24470e994a3767ffc8df7b2ccd1f65daf4100369",
  "tree": "ce4935bbab12c59002b9d5cacf37a95e9fa4668f",
  "parents": [
    "374ab391f7d394c7f8ac7ae24b51e0fd84667953"
  ],
  "author": {
    "name": "Isabelle Lai",
    "email": "49911729+isa-Lai@users.noreply.github.com",
    "time": "Mon Sep 28 05:15:50 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 28 11:15:50 2026 +0200"
  },
  "message": "[Stream] Fix O(N²) compile-time scaling in partitionRegionConcurrency (#24958)\n\nWhen analyzing execution regions where many operations share a common\nresource operand, `partitionRegionConcurrencyReference` previously\ninvoked `tiedOp.hasAnyTiedUses(operand)` inside the `operand.getUsers()`\nloop. Because checking whether an operand has tied uses involves\nscanning its use sites, repeating this check inside the loop caused\nquadratic $O(N^2)$ traversal over the users of that operand.\n\nThis change hoists the check out of the loop using the static helper\n`IREE::Util::TiedOpInterface::hasAnyTiedUses(operand)` as an early exit.\nInside the loop, it now only checks whether the candidate user\nimplements `TiedOpInterface`. This eliminates redundant scans and\nresolves the compiler performance bottleneck while preserving existing\npartitioning semantics.\n\nFixes #24928\n\n  Signed-off-by: @isa-Lai \n  Assisted-by:  Gemini CLI\n\nSigned-off-by: isa-lai \u003cisabellai1004@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "12f4a0352e3c7264c732eca901f7199ab0c403d9",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Analysis/Partitioning/ReferencePartitioning.cpp",
      "new_id": "d8764cb3dd0a5a8b4555a58beb352457e42a1ef6",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Analysis/Partitioning/ReferencePartitioning.cpp"
    }
  ]
}
