)]}'
{
  "commit": "54b33eba1657f4bfe11db5cc1c562a2d2172c7e3",
  "tree": "27c68b9733bb3e50ebccdbbd0c8988bfb7a304b0",
  "parents": [
    "924cf536cebffa7aa67e2dd2f7528fb9629a6f3e"
  ],
  "author": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Mon Apr 14 22:20:44 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 14 23:20:44 2025 +0200"
  },
  "message": "[VPlan] Add opcode to create step for wide inductions. (#119284)\n\nThis patch adds a WideIVStep opcode that can be used to create a vector\nwith the steps to increment a wide induction. The opcode has 2 operands\n* the vector step\n* the scale of the vector step\n\nThe opcode is later converted into a sequence of recipes that convert\nthe scale and step to the target type, if needed, and then multiply\nvector step by scale.\n\nThis simplifies code that needs to materialize step vectors, e.g.\nreplacing wide IVs as follow up to\nhttps://github.com/llvm/llvm-project/pull/108378 with an increment of\nthe wide IV step.\n\nPR: https://github.com/llvm/llvm-project/pull/119284",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8f6a73d0a2dd8ddd21dbf7909618b1b39ec15649",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h",
      "new_id": "f639f0adb9c430c574da2b1780a28db8d9b863eb",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h"
    },
    {
      "type": "modify",
      "old_id": "a28cda9fe62b3339c71e52b69ccd80b704d14c97",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "2f766b26222ff8d9ff75b5bc934ad51d39228fc6",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "54d8f2e7449b0913763b77021652e3c07a5abafc",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlan.h",
      "new_id": "94b5167c600896d452a9c3e8086390b06bbad015",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlan.h"
    },
    {
      "type": "modify",
      "old_id": "2cff343d915cfca9b50fe627af64e282a49f1753",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp",
      "new_id": "2cc558f49ccce5283188aee9d568b9478d19d815",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp"
    },
    {
      "type": "modify",
      "old_id": "dc9f953f7447b2b8ac676e4b3d65bc3784858322",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp",
      "new_id": "77fe3c367dd38ab87d9586684f6cb6c2a657cb18",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp"
    },
    {
      "type": "modify",
      "old_id": "c23ff382656700c47bb01520b0d09b8c2341f484",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanTransforms.h",
      "new_id": "ee3642a8aff73f5c5456cecfac735153c3d7c622",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanTransforms.h"
    },
    {
      "type": "modify",
      "old_id": "a513a255344ccdc462b30b11cd725e863c5000f5",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp",
      "new_id": "b48a447834cc873b52473f6bb07c16aae179cb30",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp"
    }
  ]
}
