)]}'
{
  "commit": "8150ab93f7411009cc919022d2937d206a2f4359",
  "tree": "406ad237c983c9c3eff7773d688660694707fefa",
  "parents": [
    "63caaa24d371aae2ee5d71cdcf8eb5f342e1d28d"
  ],
  "author": {
    "name": "John Brawn",
    "email": "john.brawn@arm.com",
    "time": "Thu Feb 27 11:07:02 2025 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Feb 27 11:07:02 2025 +0000"
  },
  "message": "[LoopVectorize] Use CodeSize as the cost kind for minsize (#124119)\n\nFunctions marked with minsize should aim for minimum code size, so the\nvectorizer should use CodeSize for the cost kind and also the cost we\ncompare should be the cost for the entire loop: it shouldn\u0027t be divided\nby the number of vector elements and block costs shouldn\u0027t be divided by\nthe block probability.\n\nPossibly we should also be doing this for optsize as well, but there are\na lot of tests that assume the current behaviour and the definition of\noptsize is less clear than minsize (for minsize the goal is to \"keep the\ncode size of this function as small as possible\" whereas for optsize\nit\u0027s \"keep the code size of this function low\").",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ddd1c9afe2a915a7b2a7745d09fb380b2e2c4b4e",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "31196170ab8bafa0382d00f3fd3943756cfbb3a2",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "89f71d8d6ef08a3ddf6fba42deef2ccba87f241e",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlan.cpp",
      "new_id": "ed9aa6bc3b229582ee1958d8a063122256276008",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlan.cpp"
    },
    {
      "type": "modify",
      "old_id": "cd1ad9bec91f7620620ba8f8a06d10b38205848d",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanHelpers.h",
      "new_id": "8e777ecbc0be998362911f076d140ddfe2d3079f",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanHelpers.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "457e1ca5ea762bba1c2037a7807b186d5e5f7485",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c9ddf19b1b9d98b9df964fe26aa2d2e37c396e37",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll"
    }
  ]
}
