)]}'
{
  "commit": "fcc419b05f62d0f4ae4a13e224d10e9d098a5450",
  "tree": "864d30e6a181a495318a9da5484009287442c48f",
  "parents": [
    "671eaf84b35ae7475783e92dd4e3ac302eef891b"
  ],
  "author": {
    "name": "Samuel Tebbs",
    "email": "samuel.tebbs@arm.com",
    "time": "Thu Jul 31 13:23:55 2025 +0100"
  },
  "committer": {
    "name": "Samuel Tebbs",
    "email": "samuel.tebbs@arm.com",
    "time": "Thu Jul 31 14:35:10 2025 +0100"
  },
  "message": "[LV][NFCI] Swap reduction recipe operand order\n\nhttps://github.com/llvm/llvm-project/pull/147026 will enable sub\nreductions, which require that the phi value is the first operand since\nthey aren\u0027t commutative. This re-orders the operands when executing\nreductions, which actually matches other existing code in\nVPReductionRecipe::execute.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "68e7c20a070f4b455b60df57404f541fed70e758",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp",
      "new_id": "3272f4bd57ae70ac384dceb8467343b539d97212",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp"
    },
    {
      "type": "modify",
      "old_id": "011b8235c231cdccfd933abe269e7559acd53865",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll",
      "new_id": "a7ec749ff6b9fb539399b6c0b5fe3fa496ab12f4",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll"
    },
    {
      "type": "modify",
      "old_id": "3d81541b7a695e2b8cca9464286ddd4bf91aedd4",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll",
      "new_id": "e555785afe1092dfd4bd5d5ae99368849ea6c0a5",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll"
    },
    {
      "type": "modify",
      "old_id": "fc86e3a6279fd8056893fdaae0321d8a32150c19",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll",
      "new_id": "f4982e602bcdc2b9262a3e107ad0f7272a84d27c",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll"
    },
    {
      "type": "modify",
      "old_id": "bc025958918fa05dee3c07ad4be0c62f30e062b2",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll",
      "new_id": "9f2c70e7cc7a6f2d5ad52701d9b3315e5bc3c72b",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll"
    },
    {
      "type": "modify",
      "old_id": "f1bee3b488fdb6ee0323dc7844cbac8cf5fefcd2",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll",
      "new_id": "83cb3250fe87b186f0023ab379b522a8f700fd4e",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll"
    },
    {
      "type": "modify",
      "old_id": "e27b0288b62ef8d813c1171ceaf40f222d9db605",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reductions-interleave.ll",
      "new_id": "27e87bc84dc8638fb42ff0aaac3ac353bd46fe0f",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reductions-interleave.ll"
    },
    {
      "type": "modify",
      "old_id": "ddd334d2982f8e58b0194d6018d0ca9f12da045a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll",
      "new_id": "658b9a4569191e88be201ad6ddc53a644aad0a89",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll"
    },
    {
      "type": "modify",
      "old_id": "8a2ff1b8c645856921731706d184462023e98e0a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll",
      "new_id": "6ae99824fa6444e75c0b43fe01a0aeb3118bb750",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll"
    },
    {
      "type": "modify",
      "old_id": "48e080c93f0b5b95bd964bcb94f1db32eda9748d",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll",
      "new_id": "540c46ff3c771693818075613ab3c3f3b03b071c",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll"
    },
    {
      "type": "modify",
      "old_id": "c71991215a5630f88825757b0c629498cd1babd2",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll",
      "new_id": "a5ebfe6470d136be90456b8ea5535c8e64849861",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll"
    },
    {
      "type": "modify",
      "old_id": "03beddee57c5a0f90ee46eda6fbcb17ffe4e14e5",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll",
      "new_id": "51224ba7aecfa2b78a4cea345b8027169f0c0b47",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll"
    },
    {
      "type": "modify",
      "old_id": "a85718d1a382f96474929f16d27409a064855351",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll",
      "new_id": "481095225af6a4a066a0ba8c20e40c12c2e5383c",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll"
    },
    {
      "type": "modify",
      "old_id": "795605dbe91a259a2e4f4f5902529f482f1e3428",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll",
      "new_id": "755d7e2f6bbd8f0315fe42cf4f4b508d454156ac",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll"
    },
    {
      "type": "modify",
      "old_id": "12d83eb96246c420a19ca96081602b7938de5339",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll",
      "new_id": "20b42c34eab706a9c6dc5cc28841df0e140b65ee",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll"
    },
    {
      "type": "modify",
      "old_id": "b3028685350788324d84c81b09abf1c6b0b8e8e9",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop.ll",
      "new_id": "0529d84bcc389f0c34e8a223a0a15adb7fed1302",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/reduction-inloop.ll"
    },
    {
      "type": "modify",
      "old_id": "be0e0d17c4eecaf6c5362b2405c5944909d3666a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll",
      "new_id": "5c52b1ab2778462a2a7a1c5b5c1164f48e5f8332",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll"
    },
    {
      "type": "modify",
      "old_id": "a13c36f693bacc6eb4f89819e9f6e5b1fe2bd6d7",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll",
      "new_id": "b932a69575cfea4c8c67564465bd5fed1a89b4e2",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll"
    }
  ]
}
