)]}'
{
  "commit": "88accd9aaa20c6a30661c48cc2ca6dbbdf991ec0",
  "tree": "03e64858ee3dd605cd9c3b74fc887d912cd7987a",
  "parents": [
    "49cb1701389ac3cff3e2c552531bfd3a607311d8"
  ],
  "author": {
    "name": "Benjamin Maxwell",
    "email": "benjamin.maxwell@arm.com",
    "time": "Fri Jul 26 14:45:51 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 26 14:45:51 2024 +0100"
  },
  "message": "[mlir][ArmSME] Pattern to swap shape_cast(tranpose) with transpose(shape_cast) (#100731)\n\nThis applies when the shape_cast is simply for dropping unit dims, and\r\nthe result rank is \u003e\u003d 2.\r\n\r\nThis simplifies the transpose making it possible for other ArmSME\r\nlegalization patterns to handle it.\r\n\r\nExample:\r\n\r\n```mlir\r\n%0 \u003d vector.transpose %vector, [3, 0, 1, 2]\r\n       : vector\u003c1x1x4x[4]xf32\u003e to vector\u003c[4]x1x1x4xf32\u003e\r\n%1 \u003d vector.shape_cast %0 : vector\u003c[4]x1x1x4xf32\u003e to vector\u003c[4]x4xf32\u003e\r\n```\r\n\r\n```mlir\r\n%0 \u003d vector.shape_cast %arg0 : vector\u003c1x1x4x[4]xf32\u003e to vector\u003c4x[4]xf32\u003e\r\n%1 \u003d vector.transpose %0, [1, 0] : vector\u003c4x[4]xf32\u003e to vector\u003c[4]x4xf32\u003e\r\n```",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "004428bd343e25887ab965052ff2b1768e841410",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp",
      "new_id": "c76d489e281190930cf125d18c65605a54c37c3d",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp"
    },
    {
      "type": "modify",
      "old_id": "458906a187982992a86bb36f30e56b54493f48ce",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/ArmSME/vector-legalization.mlir",
      "new_id": "adc02adb6e974c243025c4c8475b947be533e773",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/ArmSME/vector-legalization.mlir"
    }
  ]
}
