)]}'
{
  "commit": "b8872c6e2d0cfed22eb0bf9e84dd4705b73e6a01",
  "tree": "4e443731729c39b9bde145cdc84d70c72ca225c8",
  "parents": [
    "8fe6062891823d4f2cbd5a79f4cddbb5f6b6bccb"
  ],
  "author": {
    "name": "MaheshRavishankar",
    "email": "1663364+MaheshRavishankar@users.noreply.github.com",
    "time": "Wed Oct 14 16:26:42 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 14 23:26:42 2026 +0000"
  },
  "message": "[Codegen] Add bufferization support for CastToRaggedShapeOp and LinearizeRaggedDimsOp (#24193)\n\nThis is PR 4/N of landing block sparse changes that are captured in this\nbranch :\n\n\nhttps://github.com/MaheshRavishankar/iree/tree/users/MaheshRavishankar/blockSparseCommits\n\nAdds `BufferizableOpInterfac`e external models for two tensor-ext ops\nthat describe ragged shapes:\n- `iree_tensor_ext.cast_to_ragged_shape` — reinterprets a source buffer\nas a rank-(n+1) ragged buffer by\nattaching a RaggedShapeAttr as the memref layout.\n-`iree_tensor_ext.linearize_ragged_dims` — the inverse view: collapses\nthe ragged dimensions of a source\nbuffer back into a single dense dimension and drops the ragged layout.\n  \nBoth ops are pure views, so the interface implementations:\n- Report the operands as reads and never as writes (including\n`resultBufferizesToMemoryWrite \u003d false`).\n- Set `mustBufferizeInPlace \u003d true` and mark the result as\n`BufferRelation::Equivalent` to source, so\nbufferization does not introduce a copy.\n- For `cast_to_ragged_shape`, the result memref\u0027s layout is the ragged\nencoding promoted from the tensor\nencoding; operand buffers use the identity layout.\n- For `linearize_ragged_dims`, both operand and result memrefs use the\nidentity layout; the result simply\ndrops the ragged encoding.\n`bufferize` replaces the tensor-typed op with an identical memref-typed\nversion of itself — no data is\nmoved.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e09f4bd69f696bba1b9eab8933183cf5443d5bbb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/iree_comprehensive_bufferize.mlir",
      "new_id": "314bcb28addf2cac8aed5fe331fa673a04051c50",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/iree_comprehensive_bufferize.mlir"
    },
    {
      "type": "modify",
      "old_id": "23c0b5c6c09f02c65ee0a281f8a8409b0874bb53",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp",
      "new_id": "d8db3066d0771105609f5d65807590871a4563e3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp"
    }
  ]
}
