)]}'
{
  "commit": "a96d8aed984210fedcee2ff1c7d7968e72843191",
  "tree": "8ea251bda5ab2853737785c9b6a13666a273af12",
  "parents": [
    "4a509f853fa4821ecdb0f6bc3b90ddd48794cc8c"
  ],
  "author": {
    "name": "James Newling",
    "email": "james.newling@gmail.com",
    "time": "Fri Aug 01 08:57:38 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Aug 01 08:57:38 2025 -0700"
  },
  "message": "[mlir][vector] vector.splat and vector.broadcast folding/canonicalizing parity  (#150284)\n\nThis PR ensures parity in folding/canonicalizing of vector.broadcast\n(from a scalar) and vector.splat. This means that by using\nvector.broadcast instead of vector.splat (which is currently\ndeprecated), there is no loss in optimizations performed. All tests\nwhich were previously checking folding/canonicalizing of vector.splat\nare now done for vector.broadcast. The vector.splat canonicalization\ntests are now in a separate file, ready for removal when, in the future,\nwe remove vector.splat completely.\n\nThis PR also adds a canonicalizer to vector.splat to always convert it\nto vector.broadcast. This is to reduce the \u0027traffic\u0027 through\nvector.splat.\n\nThere is a chance that this PR will break downstream users who create/expect \nfor vector.splat. Changing all such logic to work just vector.broadcast instead\nshould fix. ",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5d45508af5c061954a9d4e586b0273ea2a8d244a",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/Vector/IR/VectorOps.td",
      "new_id": "dc55704c36183f60b55d2da424dd67a3207bb6b8",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/Vector/IR/VectorOps.td"
    },
    {
      "type": "modify",
      "old_id": "a21b5ba70c52033f58126f2f44ed1f74764cefba",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/Vector/IR/VectorOps.cpp",
      "new_id": "a450056a3041ab4c58c13f9558ba7d342d011766",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/Vector/IR/VectorOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "56996b5f364a5eff8d56e55fedd0c8f69aac74f6",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/Vector/canonicalize.mlir",
      "new_id": "f86fb387be5b81e63258e3dccb8207e8ff6be7f6",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/Vector/canonicalize.mlir"
    },
    {
      "type": "modify",
      "old_id": "fdab2a8918a2ef1fa7aa871b42225cfc066fc004",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir",
      "new_id": "f43328f621787323b1c3160aa791cfac0df7ff76",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e4a9391770b6ccf53810aae3103265f20368312b",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/Vector/canonicalize/vector-splat.mlir"
    },
    {
      "type": "modify",
      "old_id": "511ab70f35086780c416c98ae864216ec25740cd",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir",
      "new_id": "1b54d54ffbd9f243276903db8ae28f73f649baae",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir"
    }
  ]
}
