)]}'
{
  "commit": "2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d",
  "tree": "527d0cc98b46cd271f1600b82d7c1963be2e9a30",
  "parents": [
    "c83832275136474dd9ad0a34c8e0e764a2853cc0"
  ],
  "author": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Tue Apr 14 09:32:54 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 14 08:32:54 2026 +0000"
  },
  "message": "[LV] Remove legacy selectVectorizationFactor and assert (NFCI) (#190838)\n\nAlmost all recipes now go through ::computeCost to properly compute\ntheir costs using the VPlan-based cost model. There are currently no\nknown cases where the VPlan-based cost model returns an incorrect cost\nvs the legacy cost model. I check the remaining open issues with reports\nof the assertion triggering and in all cases the VPlan-based cost model\nis more accurate, which is causing the divergence.\n\nThere are still some fall-back paths, mostly via precomputeCosts, but\nthose cannot be easily removed without triggering the assert, as the\nVPlan-based cost model is more accurate for those cases. An example of\nthis is https://github.com/llvm/llvm-project/pull/187056.\n\nFixes https://github.com/llvm/llvm-project/issues/38575. \nFixes https://github.com/llvm/llvm-project/issues/149651. \nFixes https://github.com/llvm/llvm-project/issues/182646. \nFixes https://github.com/llvm/llvm-project/issues/183739. \nFixes https://github.com/llvm/llvm-project/issues/187523.\n\nPR: https://github.com/llvm/llvm-project/pull/190838",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b0cf7823ce9f8686be088f50edf7b18cf70ddea0",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h",
      "new_id": "f2e820b28e9d799c01fb3cd5c6e557343467f80b",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h"
    },
    {
      "type": "modify",
      "old_id": "a7bbd94a0c77633277d0e754333209a41a80de6d",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "bd3ce9283ec962d51fe3682d7634df4084536494",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "5de7ab36a6d75b4b7ac6e337dc455e13b3cfc7ab",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanHelpers.h",
      "new_id": "b54b80b496668d555d179685daa0b7fe540c32af",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanHelpers.h"
    },
    {
      "type": "modify",
      "old_id": "92a7128efc8f0517692d23eb70bfae8ca4b753e5",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/conditional-assignment.ll",
      "new_id": "7f6a1b559baffae16930b92a56f5b9c354d5e57f",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/conditional-assignment.ll"
    },
    {
      "type": "modify",
      "old_id": "18d8191399f84a29f8c4eb80e4b67dae1243b5a8",
      "old_mode": 33188,
      "old_path": "llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll",
      "new_id": "e8b8e4bccea7d057e4836c52a6fcb21c1bd64402",
      "new_mode": 33188,
      "new_path": "llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll"
    },
    {
      "type": "modify",
      "old_id": "4b146a5c4bc3c50124645444517e37ee2b606d12",
      "old_mode": 33188,
      "old_path": "llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected",
      "new_id": "d0752060a1610733cddc2521280489635482fb64",
      "new_mode": 33188,
      "new_path": "llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected"
    },
    {
      "type": "modify",
      "old_id": "35bcf6c5eb320896a6b8d62f3d09ff3b80327b7e",
      "old_mode": 33188,
      "old_path": "llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test",
      "new_id": "bdfac53db2f17264d8c7f84d6d152d4a3640cc06",
      "new_mode": 33188,
      "new_path": "llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test"
    }
  ]
}
