)]}'
{
  "commit": "466f8d3f766c64531dea2ee1a3789e6ec90d4e87",
  "tree": "158f8dc30e8bf20872e33ef3ef8b6cda306203e4",
  "parents": [
    "2601b708c580f6d1e2ccdd1f082895c627947524"
  ],
  "author": {
    "name": "maxbartel",
    "email": "bartel@roofline.ai",
    "time": "Tue Oct 06 19:52:04 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 06 19:52:04 2026 +0200"
  },
  "message": "[DispatchCreation] Propagate tensor encodings outside dispatch regions (#24966)\n\nEncoding propagation is currently tied to dispatch hoisting, which\nprevents layout assignment from using the same rewrite rules on the\nsurrounding tensor graph.\n\nSeparate where propagation may happen from the rewrites themselves, and\nadd the function pass\n`iree-dispatch-creation-propagate-data-tiling-encodings` for propagation\noutside dispatches. Hoisting keeps its existing behavior. The new pass\nstops at existing dispatches and block boundaries, and constant CSE\nstays disabled because Flow regions do not materialize constants\nthemselves.\n\n- `iree-dispatch-creation-propagate-encodings` runs in the dispatch-time\ndata-tiling pipeline and only swaps `set_encoding` with `tensor.cast`\nproducers, so adding these rewrites to it would change that pipeline.\nThey stay separate until bubbling through generic ops goes through the\nencoding propagation interfaces (TODO(#20179)).\n- Bubbling now stops at `set_encoding` ops whose encoding is not an\n`EncodingAttr`, such as `#iree_encoding.padding`, instead of crashing.\n`iree-dispatch-creation-hoist-encoding-ops` could already hit this\nwithin dispatches; both passes have a regression test.\n\nNo pipeline runs the new pass yet. #24969 adds it to the experimental\nearly data-tiling route.\n\nThis is one of five PRs adding an experimental CPU path that\nmaterializes data-tiling layouts before dispatch creation, so that\n`linalg.mmt4d` and data-tiled convolutions fuse with their elementwise\nepilogues and result unpacks.\n\nAssisted by AI.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "81312b9479484792e8eeb6a737718d68476bc939",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/HoistEncodingOps.cpp",
      "new_id": "9ab1144c3f932d5b0a0eed30edc187e34619dca5",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/HoistEncodingOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "0b677155b187d5d741eb8bd63a49a570785f2a54",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/Passes.td",
      "new_id": "8c238092707732522b3bb308f5f6f30deeb43a61",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "7e19e928b4ad3372974f3736073c52bcfd03df89",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/test/BUILD.bazel",
      "new_id": "e42d518bbfd5507bb38592bbb087094dae4e3cb2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e407742e97076938e839e58c4f1f12fe83afcb67",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/test/CMakeLists.txt",
      "new_id": "08a75bc9a2861c265d9957dec46036b46bbb16df",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/test/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7751424c13127e010b060621ef1ce31bd0702903",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/test/hoist_encoding_ops.mlir",
      "new_id": "c0b4f9cf17d94ec7bd8130b489128fa5e2e8fbb2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/test/hoist_encoding_ops.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f51fb140a65d9d43613e22144821ee6d816e68ac",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/test/propagate_encodings_through_generic_ops.mlir"
    }
  ]
}
