)]}'
{
  "commit": "af030e43d8343263a6c869eae32f958f229ff7af",
  "tree": "dfe14b36ec97e941b7595c41fa27ee6e73063e23",
  "parents": [
    "e380f4313703f3ccac7638eadeb2c25678085fb9"
  ],
  "author": {
    "name": "Vihang Mehta",
    "email": "vihang.mehta@gmail.com",
    "time": "Mon Apr 27 21:05:39 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 28 04:05:39 2026 +0000"
  },
  "message": "Fix bug in inlineConstantGlobalLoads (#24278)\n\nOur IR has a global of the form:\n\n```\nutil.global public @weights.shard0__tensor__a \u003d #flow.parameter.named\u003c\"weights.shard0\"::\"a\"\u003e : tensor\u003c2x3x4xf32\u003e\n```\n\nwhich is later referenced by:\n\n```\n%0 \u003d flow.tensor.constant #flow.parameter.named\u003c\"weights.shard0\"::\"a\"\u003e : tensor\u003c2x3x4xf32\u003e\n```\n\nThe way it is written, `inlineConstantGlobalLoads` would trigger and\nsince we have no loadOps,\nthe `if (!global.loadOps.empty() || !global.referencingOps.empty())`\ncheck wouldn\u0027t fire and the IR would be marked as UPDATED despite there\nbeing no change.\n\nThis caused the pass to loop and never reach a fixed point. This change\nfixes said bug.\n\nSigned-off-by: Vihang Mehta \u003cvihang@gimletlabs.ai\u003e\n\nSigned-off-by: Vihang Mehta \u003cvihang@gimletlabs.ai\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e1efb93fab66e5666e044b26a23ca0b83060208e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Util/Transforms/FoldGlobals.cpp",
      "new_id": "3c8b44a1c282ad9d980f6210c44b97fb24033c62",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Util/Transforms/FoldGlobals.cpp"
    }
  ]
}
