)]}'
{
  "commit": "0e3049c562ccdea288c3b1f3b3d1ce5992d284b0",
  "tree": "8ee5ffc715e0a27eb85172309fa16252d5c6957d",
  "parents": [
    "2b064108ed55af510379edc81622983385c7977f"
  ],
  "author": {
    "name": "Alexey Bataev",
    "email": "a.bataev@outlook.com",
    "time": "Tue Apr 01 14:30:06 2025 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 01 14:30:06 2025 -0400"
  },
  "message": "[SLP]Support revectorization of the previously vectorized scalars\n\nIf the scalar instructions is marked for the vectorization in the tree,\nit cannot be vectorized as part of the another node in the same tree, in\ngeneral. It may prevent some potentially profitable vectorization\nopportunities, since some nodes end up being buildvector/gather nodes,\nwhich add to the total cost.\nPatch allows revectorization of the previously vectorized scalars.\n\nReviewers: hiraditya, RKSimon\n\nReviewed By: RKSimon, hiraditya\n\nPull Request: https://github.com/llvm/llvm-project/pull/133091\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "18c896767b6d2da6e72dc91567a7c8ae8b451cd8",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp",
      "new_id": "d28210513556636d5efc5db517ef48d89f99f963",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp"
    },
    {
      "type": "modify",
      "old_id": "3cab4a4da3f8e65569bd8b5c44d4e4e19a65a978",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll",
      "new_id": "fcd3bfc3f323a9e79d177ba04ec4ee4db5c20160",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll"
    },
    {
      "type": "modify",
      "old_id": "f79db7d7ad0cbdbf5f7432d0f6cc3962fd41e4a1",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll",
      "new_id": "ab6c7443f80e8f01b1d649a6635ccd8c8cab5bd4",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll"
    },
    {
      "type": "modify",
      "old_id": "1330e5557e559be8856b7f32299b65642996d2c3",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll",
      "new_id": "3063d85e122d856ed0a5eeacb72686cc8ab3f446",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll"
    },
    {
      "type": "modify",
      "old_id": "2d94babb568742e11795ef68500adacf31c8ceb0",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll",
      "new_id": "47153d91956d5cbb6d606821ca2c71f7daceb9ae",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll"
    },
    {
      "type": "modify",
      "old_id": "860d0ed29332c26b56b0b8adb52cf191c7a85c46",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll",
      "new_id": "fa46bd3d83249d5cee4a4e14650a7747f504da7b",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll"
    },
    {
      "type": "modify",
      "old_id": "f875d45db61ddee9209e4fdc9d02fa9e2cd96db5",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll",
      "new_id": "533b0df21e160ff95e28f26fce42bf6bfbf99ab7",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll"
    },
    {
      "type": "modify",
      "old_id": "22a59d3da52a6eb64a035a1e46d8247d366d9034",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll",
      "new_id": "36151df96bfca4aa2b1ece729599330c86267ce7",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll"
    }
  ]
}
