)]}'
{
  "commit": "f2301be0e82f686bae1e78518b3c05d8072f11af",
  "tree": "e35ddf4a983e524ec210b92dcc54ef2b7ed3d010",
  "parents": [
    "6512bf0e857c8926e3bb0a07c1eac270faf4ae3f"
  ],
  "author": {
    "name": "Alexey Bataev",
    "email": "a.bataev@outlook.com",
    "time": "Mon Sep 15 12:46:45 2025 -0700"
  },
  "committer": {
    "name": "Alexey Bataev",
    "email": "a.bataev@outlook.com",
    "time": "Mon Sep 15 12:50:03 2025 -0700"
  },
  "message": "[SLP]Add a check if the user itself is commutable\n\nIf the commutable instruction can be represented as a non-commutable\nvector instruction (like add 0, %v can be represented as a part of sub\nnodes with operation sub %v, 0), its operands might still be reordered\nand this should be accounted when checking for copyables in operands\n\nFixes #158293\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7ca43efb47c6e66adf17e5ba54724c8fdfd9e77c",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp",
      "new_id": "8aafe14c0cbe00da7cbe8cc67995c9607b3ab3e2",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "adceef172864daae6b891382875ebb86f559fd6d",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/commutable-member-in-non-commutable-node.ll"
    }
  ]
}
