)]}'
{
  "commit": "4b9673cd2af124eb7f4bb21f170120f35cb3686a",
  "tree": "15e1e15f6d4de47eea9905cf6abf04225c635b03",
  "parents": [
    "033ed1e2bbaf790fc75ad8dda85f6c1cce6af020"
  ],
  "author": {
    "name": "Zmicier Prybysh",
    "email": "zprybysh@baylibre.com",
    "time": "Tue Nov 10 21:23:05 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Nov 10 21:23:05 2026 +0100"
  },
  "message": "[HAL] Memoize allocator selects in program order (#25243)\n\nMemoizeDeviceSelection processed its select groups in DenseMap order,\nwhich follows attribute addresses, so the names of the generated globals\n(`__allocator_select_device` vs `_device_0`, etc) changed between runs\nand `.vmfb` files of multi-device modules were not reproducible. This\ndoes not affect correctness, only the reproducibility of `.vmfb` files.\n\nThe fix uses a MapVector to process the groups in the order of their\nfirst select.\n\nThe lit test now checks exact names instead of capturing them with `.*`\nto avoid matching only the prefix part of the name.\n\nAssisted-by: Claude Code\n\nSigned-off-by: Zmicier Prybysh \u003czprybysh@baylibre.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "56f8d98655dd58fc12c35366d9f50cfdf3ee1915",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/MemoizeDeviceSelection.cpp",
      "new_id": "be0de8c620303201cc0a95f243ee51e47deb318f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/MemoizeDeviceSelection.cpp"
    },
    {
      "type": "modify",
      "old_id": "5358e1bfd1676696ec2c18a18c9e652eca624ec9",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/test/memoize_device_selection.mlir",
      "new_id": "609df54465c1bd3689a01b6bd9de8a26d953a64e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/test/memoize_device_selection.mlir"
    }
  ]
}
