)]}'
{
  "commit": "e7dcf1b7e5574d03d1ce6e7520d5683cfea37706",
  "tree": "b335a4fd520ba824921c5916b5747e805d6a702b",
  "parents": [
    "28156539a9df3fa0d9db47c405c0006fcee9f77f"
  ],
  "author": {
    "name": "Charitha Saumya",
    "email": "136391709+charithaintc@users.noreply.github.com",
    "time": "Thu May 08 13:17:38 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu May 08 13:17:38 2025 -0700"
  },
  "message": "[mlir][xegpu] Add SIMT distribution patterns for UpdateNdOffset and PrefetchNd ops.  (#138033)\n\nThis PR adds support for SIMT distribution of UpdateNdOffset and\nPrefetchNd ops.\n\nFor both these ops distribution will remove the layout attribute from\nthe tensor descriptor type. Everything else remains unchanged.\n\nExample 1:\n\n ```\n   #lo0 \u003d #xegpu.layout\u003cwi_layout \u003d [1, 8], wi_data \u003d [1, 1]\u003e\n   gpu.warp_execute_on_lane_0(%laneid) -\u003e () {\n     ...\n     xegpu.prefetch_nd %arg0 : !xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e\n   }\n ```\n To\n ```\n   %r:2 \u003d gpu.warp_execute_on_lane_0(%laneid) -\u003e (\n   !xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e) {\n     gpu.yield %arg0: !xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e\n   }\n   %1 \u003d unrealized_conversion_cast %r#0: !xegpu.tensor_desc\u003c4x8xf32,\n     #lo0\u003e -\u003e !xegpu.tensor_desc\u003c4x8xf32\u003e\n   xegpu.prefetch_nd %0 : !xegpu.tensor_desc\u003c4x8xf32\u003e\n\n ```\nExample 2:\n ```\n   #lo0 \u003d #xegpu.layout\u003cwi_layout \u003d [1, 8], wi_data \u003d [1, 1]\u003e\n   %r \u003d gpu.warp_execute_on_lane_0(%laneid) -\u003e\n                   (!xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e) {\n     ...\n     %update \u003d xegpu.update_nd_offset %arg0, [%c32, %c16]:\n       !xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e\n     gpu.yield %update\n   }\n   ...\n ```\n To\n ```\n   %r:2 \u003d gpu.warp_execute_on_lane_0(%laneid) -\u003e (vector\u003c4x1xf32\u003e,\n   !xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e) {\n     ...\n     %dead \u003d xegpu.update_nd_offset %arg0, [%c32, %c16]:\n       !xegpu.tensor_desc\u003c4x8xf32, #lo0\u003e gpu.yield %dead, %arg0\n     gup.yield %dead, %arg0, %c32, %c16\n   }\n%0 \u003d xegpu.unrealized_conversion_cast %r#1: !xegpu.tensor_desc\u003c4x8xf32,\n        #lo0\u003e -\u003e !xegpu.tensor_desc\u003c4x8xf32\u003e\n   %1 \u003d xegpu.update_nd_offset %0, [%c32, %c16]:\n     !xegpu.tensor_desc\u003c4x8xf32\u003e\n   ...\n ```",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5fa18754305cacbb61c734fa695079804575d941",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td",
      "new_id": "a892f701f724eb0ea85acf093f566f9510643253",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td"
    },
    {
      "type": "modify",
      "old_id": "ecab280b76f55ed3be642ccd64c6289f3fdbe9f8",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td",
      "new_id": "84314875c2ae5c2b6b1bfd90c2f9ce57cf3e6130",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td"
    },
    {
      "type": "modify",
      "old_id": "7f783cd2ff39f210dba28cd8c142eada403ec1c1",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp",
      "new_id": "2300d9e3bd43f2e21d49eb0879e8eb9fcd9f2449",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp"
    },
    {
      "type": "modify",
      "old_id": "4e50771c26283a7c871d56a23b338b123c96812f",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/XeGPU/subgroup-distribution.mlir",
      "new_id": "e5606c56425056b038b42b5f5ab712b9d48afcda",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/XeGPU/subgroup-distribution.mlir"
    },
    {
      "type": "modify",
      "old_id": "a5468681e68dce768a934e9f64afec6ab726633d",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir",
      "new_id": "c7c82fc8dbb3c8126fd61417e4e9f15545d71b15",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir"
    }
  ]
}
