)]}'
{
  "commit": "0a73681ecf10b74eda69cfc73bd32c8b2095c45c",
  "tree": "c02181eef2332a3c4a5790b26772d300687412e3",
  "parents": [
    "01c52ebad4c926e588695c41c39b7b0da3573ed9"
  ],
  "author": {
    "name": "Benoit Jacob",
    "email": "jacob.benoit.1@gmail.com",
    "time": "Fri May 01 10:36:49 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 01 10:36:49 2026 -0400"
  },
  "message": "[Codegen][CPU] Fix RHS indexing map in materialize-encoding inner_tiled lowering. (#24325)\n\nThe CPU encoding-materialization path (`lowerContractionOpToInnerTiled`)\nemits an `iree_codegen.inner_tiled` op with the standard matmul indexing\nmaps `[(d0, d2), (d2, d1), (d0, d1)]`, but the RHS pack it lowers to\nuses `outer_dims_perm \u003d [1, 0]` so the packed RHS comes out with outer\ndims in `(N_iter, K_iter)` order — i.e. mmt4d-style, not standard-matmul\nstyle. The two interpretations of the same operand shape disagree, and\nthe inner_tiled verifier rejects the op with:\n\n    error: \u0027iree_codegen.inner_tiled\u0027 op shape does not match\n           iteration bounds\n\nSwitching the RHS map to `(d0, d1, d2) -\u003e (d1, d2)` matches what the\npack actually produces and lets the verifier project a consistent\niteration domain across all three operands. The semantics are still a\nvalid contraction (one parallel + one reduction on each input, two\nparallels on the output), just with the RHS walked in mmt4d order.\n\nWithout this fix, data-tiled `linalg.matmul` -\u003e `inner_tiled` lowering\non CPU fails the verifier on the very first dispatch and never gets near\ncodegen; with it, end-to-end compile gets past verification all the way\nto bufferization (where a separate, pre-existing pipeline gap takes\nover: there is no CPU pass yet that vectorizes/lowers `inner_tiled`\nbefore bufferize).\n\nProgress towards #24323",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b500eff467ab2e0b86023977f1912ece50aad31",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/materialize_encoding_x86_64.mlir",
      "new_id": "179cb74148e3963446348974a117cebe4e0e661f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/materialize_encoding_x86_64.mlir"
    },
    {
      "type": "modify",
      "old_id": "453702fa868fc930ffd77d6c625bc8428cb8b9c4",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.cpp",
      "new_id": "8561f3cae94926e56aeb6215fe3f1e972636fead",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.cpp"
    }
  ]
}
