)]}'
{
  "commit": "52ffd2056a0add0ee47929ccfe841ba4c99ebcd5",
  "tree": "f7580407adef9936b878cb1c67bab36446ad4681",
  "parents": [
    "6d1fbb5e144085cc25f19f9f8e5acdfdd7ecdd8d"
  ],
  "author": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Sun Jun 28 21:04:14 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun Jun 28 20:04:14 2026 +0000"
  },
  "message": "[VPlan] Support SRem in getSCEVExprForVPValue. (#206361)\n\nExtend vputils::getSCEVExprForVPValue to construct SCEV expressions for\nSRem recipes. A SRem of non-negative operands is equivalent to URem.\n\nEnables SCEV-based no-alias reasoning for stores derived from SRem GEPs.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b55098e90c0ede7aca50703e5524ebc21737f38",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h",
      "new_id": "3a6919867300699a3ea2c5c9bb6dda7cdfbea322",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h"
    },
    {
      "type": "modify",
      "old_id": "263480924b796026b8ea983ccd10abbd8b0c4b3a",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/VPlanUtils.cpp",
      "new_id": "c6b83e69ee3d8d020ddbce3cc749a0628b725714",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/VPlanUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "57762b77cb09c0b087754a91db707954662afc68",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll",
      "new_id": "e11c8d08f7e3f1284c6079e3ed9f7038eec6f344",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll"
    }
  ]
}
