)]}'
{
  "commit": "66ce4f771ee294fc4a2e0ead86976fc731ff5d87",
  "tree": "56287f9206aa72ecd8d1ebee9f2ae6b89a5586f8",
  "parents": [
    "f2d2ae3f5a8e45c1386bf71e403d78cfee52cb7b"
  ],
  "author": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Sat Jul 27 12:52:12 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Jul 27 12:52:12 2024 +0100"
  },
  "message": "[VPlan] Port invalid cost remarks to VPlan. (#99322)\n\nThis patch moves the logic to create remarks for instructions with\r\ninvalid costs to work on recipes and decoupling it from\r\nselectVectorizationFactor. This is needed to replace the remaining uses\r\nof selectVectorizationFactor with getBestPlan using the VPlan-based cost\r\nmodel.\r\n\r\nThe current implementation iterates over all VPlans and their recipes\r\nagain, to find recipes with invalid costs, which is more work but will\r\nonly be done when remarks for LV are enabled. Once the remaining uses of\r\nselectVectorizationFactor are retired, we can collect VPlans with\r\ninvalid costs as part of getBestPlan if we want to optimize the remarks\r\ncase a bit, at the cost of adding additional complexity.\r\n\r\nPR: https://github.com/llvm/llvm-project/pull/99322",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "590f3153cd084bc3cab5117f107720eebc9ab951",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h",
      "new_id": "ca20bc3ada799bb13479fb0012e464b9bca7dadb",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h"
    },
    {
      "type": "modify",
      "old_id": "63f7f4620a55f146441c960e434947a32d7a536e",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "6daa8043a3fbf909468205082aacb894b78a57b7",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "b66bb948a47a55176a4f43c0faf63e7e3be4a4b6",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/AArch64/scalable-alloca.ll",
      "new_id": "0ef03c58be97aade19075ab284d5b57321f1c769",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/scalable-alloca.ll"
    },
    {
      "type": "modify",
      "old_id": "333bb20fd0d9aa4304088f281f5e99ca8e2b2ab6",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll",
      "new_id": "bc6eeb470b154f3cba52075225d74cae8bf5ea4a",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll"
    }
  ]
}
