)]}'
{
  "commit": "e8a0b40d6c4c36329fb4ff66a0aa5fee40a3d4df",
  "tree": "a228de0e8df390bb578b7663850fcc774a07a151",
  "parents": [
    "5ff8d3add1a231aea3a3ee4307930b3aaa31c643"
  ],
  "author": {
    "name": "Craig Topper",
    "email": "craig.topper@sifive.com",
    "time": "Sat Jan 17 21:32:33 2026 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Jan 17 21:32:33 2026 -0800"
  },
  "message": "[SCCP] Correct range calculation for get.vector.length to use getUnsignedMax instead of getUpper. (#176493)\n\ngetUpper returns 1 more than the maxium value included in the range.\nThis may be 0. We should not use this in a umin. Instead we should\nget the maximum value included in the range and use that for the umin.\nThen convert that to Upper for the new range by adding 1.\n\nThe test was manually reduced from a downstream failure, but I couldn\u0027t\nget it behave exactly the same way without more instructions. It should\nbe enough to show an incorrect range being calculated.\n\nFixes #176471",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90ee55b87439ac24de1099a5924028e45ee92c73",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Utils/SCCPSolver.cpp",
      "new_id": "0ac99413a2cf8c8c96dbff9d23b96adf1fe58c18",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Utils/SCCPSolver.cpp"
    },
    {
      "type": "modify",
      "old_id": "d0741161e729ea399c033222e15ffb403b50e950",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SCCP/get_vector_length-intrinsic.ll",
      "new_id": "002cf9b278ffe27d64cfe074e780ebec8600b4d1",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SCCP/get_vector_length-intrinsic.ll"
    }
  ]
}
