)]}'
{
  "commit": "166937b49dac0919fae362c0deecb723b03be764",
  "tree": "753f8ed8eb93c4efab3cc1a2cdcc12f097332244",
  "parents": [
    "887cf1f8cea240cd50fb80bc9487b22f67d74263"
  ],
  "author": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Mon Mar 17 18:41:34 2025 +0000"
  },
  "committer": {
    "name": "Florian Hahn",
    "email": "flo@fhahn.com",
    "time": "Mon Mar 17 21:26:51 2025 +0000"
  },
  "message": "[LV] Cleanup after expanding SCEV predicate to constant.\n\nIn some cases, SCEV isn\u0027t able to prove that no wrap checks are needed,\nwhile constant folding in SCEVExpander can. In those cases, we may leave\naround IR for computing the trip count, which is unused at this point\nbut may be re-used later, triggering an assertion when trying to clean\nup SCEVExp after vectorization.\n\nDirectly run the cleaner after expanding to a constant predicate to\nprevent any generated code from being re-used.\n\nFixes https://github.com/llvm/llvm-project/issues/131281.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e38ccc565ea2a5ee90dfd78516bd02f1ddfb589",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp",
      "new_id": "cbfccaab01e2732bea9017117f239efe9a589fa6",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/LoopVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "590cdd73e55f3ef5c8a7c210ba190bc91b55ae0a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll",
      "new_id": "40c752bbaf4c8d949a153d275298530a6e16c55e",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll"
    }
  ]
}
