)]}'
{
  "commit": "3bbf1da2680b8701fc4698da09e0be8b790e6741",
  "tree": "1ede7384e0acab0efcb31a84e0cbf52c8f8a9603",
  "parents": [
    "63b9ccee55bd983b8ef15a89a485e22af8a69ef3"
  ],
  "author": {
    "name": "Jorn Tuyls",
    "email": "jorn.tuyls@gmail.com",
    "time": "Mon Apr 20 05:38:00 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Apr 19 20:38:00 2026 -0700"
  },
  "message": "[HAL] Renumber export ordinals after pruning (#24162)\n\nBackend serializers index the flatbuffer `exports` vector by ordinal and\nassume a dense [0, N) range. When PruneExecutablesPass removed unused\nexports it left ordinals sparse (e.g. [0, 2, 3, 4] with 1 pruned),\ncausing the serializer to write past the end of its vector and produce\ninvalid flatbuffers. This showed up as flatcc verification failures at\nruntime for models with unused `hal.executable.source` exports.\nRenumbering to a dense [0, N) range here restores the invariant for all\nbackends without touching any serializer or runtime code.\n\nSigned-off-by: Jorn Tuyls \u003cjorn.tuyls@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f8562bb45c03c1af3748561097969efce0fd837c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/PruneExecutables.cpp",
      "new_id": "782b80f6541286dcdeed4ddcd9769fbdb399bb7e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/PruneExecutables.cpp"
    },
    {
      "type": "modify",
      "old_id": "0dd712575b5cee9ab6c65b727dc3974802804de0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/test/prune_executables.mlir",
      "new_id": "ed5d16db27f6b5e68b3f816a816e8d452fbc7557",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/test/prune_executables.mlir"
    }
  ]
}
