)]}'
{
  "commit": "9dabe383fd71aadb5588d1d5bb2eafe7b6fdf4f2",
  "tree": "2755235d281b55548fe48aec29bd177b239d87ff",
  "parents": [
    "b0627c0c94bd93b6e9e6dcedb2e7bfa69e6f4052"
  ],
  "author": {
    "name": "Chennes",
    "email": "xuchen359@gmail.com",
    "time": "Fri Jul 10 06:36:55 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 09 15:36:55 2026 -0700"
  },
  "message": "[mlir][xegpu] Fix crash on 0D vector in vector-to-xegpu transfer lowering (#205812)\n\n`transferPreconditions` accepted rank-0 vectors, which then reached\n`computeOffsets` and indexed an empty `SmallVector` (`broadcasted[0]`),\nasserting `idx \u003c size()` and crashing. For example:\n\n```mlir\nvector.transfer_write %arg0, %arg1[%1] : vector\u003cf32\u003e, memref\u003c3xf32\u003e\n```\n\nThis is valid IR (the verifier accepts it; 0D vector transfers are part\nof the vector dialect spec), so the conversion pass should not crash on\nit.\n\nBail out via `notifyMatchFailure` for 0D vectors in the shared\n`transferPreconditions`, so both `transfer_read` and `transfer_write`\nare left unconverted instead of crashing. This matches how the core\nvector lowering already treats 0D transfers as an unsupported corner\ncase (see `mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp`).\n\nRegression tests are added for 0D `transfer_read` and `transfer_write`.\n\nFixes #205281",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8dcc9771d8db4b6c2a793477c6f501b4e6637cbe",
      "old_mode": 33188,
      "old_path": "mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp",
      "new_id": "dd7330e4ea95088d2b87206b37c2bd9dd4e3fcbc",
      "new_mode": 33188,
      "new_path": "mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp"
    },
    {
      "type": "modify",
      "old_id": "f64bcc27940ea5422852d02fcb28399db21f33ca",
      "old_mode": 33188,
      "old_path": "mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir",
      "new_id": "6439e3a41e0845371941723203c80898acd6618d",
      "new_mode": 33188,
      "new_path": "mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir"
    },
    {
      "type": "modify",
      "old_id": "a7cd3d7652d850e8fb195676f6c1f712b3f4dc69",
      "old_mode": 33188,
      "old_path": "mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir",
      "new_id": "755b8a3abc4e05030462483e7dbde9a9b92b8063",
      "new_mode": 33188,
      "new_path": "mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir"
    }
  ]
}
