)]}'
{
  "commit": "ebe50ecf876fee0b5ce991d302eaef8670325710",
  "tree": "63a8fa8a70fe1d5957859c975cf50f719a8af396",
  "parents": [
    "a30040ef981c89f2fd9f966c96ec28b5b46c8a18"
  ],
  "author": {
    "name": "Richard Biener",
    "email": "rguenther@suse.de",
    "time": "Mon Jun 08 10:50:35 2026 +0200"
  },
  "committer": {
    "name": "Richard Biener",
    "email": "rguenth@gcc.gnu.org",
    "time": "Mon Jun 15 14:20:30 2026 +0200"
  },
  "message": "tree-optimization/125652 - wrong code with SCEV\n\nThe following fixes a latent issue in chrec_fold_plus_poly_poly\nwhich suffers from being prone to signed overflow UB in the way\nit associates additions when accumulating two polynomical CHRECs.\nSimilar to r16-2781-gafafae097232e7 the following catches the\nobvious cases when constants are involved without trying to address\nthe actual underlying issue.\n\n\tPR tree-optimization/125652\n\t* tree-chrec.cc (chrec_fold_plus_poly_poly): Avoid UB\n\tinteger overflow in accumulating CHREC_RIGHT.\n\n\t* gcc.dg/torture/pr125652.c: New testcase.\n\n(cherry picked from commit de3a13dd7f6c2856e96fc2b7924f9b34b638940f)\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a99da3fb5cada3110d27cc943b66b9de6f5a4e35",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.dg/torture/pr125652.c"
    },
    {
      "type": "modify",
      "old_id": "09dd81900bce70138f975c68b77c4ba6d0e45fc3",
      "old_mode": 33188,
      "old_path": "gcc/tree-chrec.cc",
      "new_id": "68e16abc8d26bb369056024268c7cc005feb1f8c",
      "new_mode": 33188,
      "new_path": "gcc/tree-chrec.cc"
    }
  ]
}
