)]}'
{
  "commit": "856c493db1d5e2fa9377f4a0c438afbcaf6c7e01",
  "tree": "0699e8d8aed4178181ceb1d0a3af172d6ab3b053",
  "parents": [
    "7b38bab21a126512c17c8084ad78b6bf75fc1437"
  ],
  "author": {
    "name": "Richard Biener",
    "email": "rguenther@suse.de",
    "time": "Thu May 08 10:05:42 2025 +0200"
  },
  "committer": {
    "name": "Richard Biener",
    "email": "rguenther@suse.de",
    "time": "Sun May 11 10:54:02 2025 +0200"
  },
  "message": "tree-optimization/120043 - bogus conditional store elimination\n\nThe following fixes conditional store elimination to properly\ncheck for conditional stores to readonly memory which we can\nobviously not store to unconditionally.  The tree_could_trap_p\npredicate used is only considering rvalues and the chosen\napproach mimics that of loop store motion.\n\n\tPR tree-optimization/120043\n\t* tree-ssa-phiopt.cc (cond_store_replacement): Check\n\twhether the store is to readonly memory.\n\n\t* gcc.dg/torture/pr120043.c: New testcase.\n\n(cherry picked from commit 93586e5d51188bf71f4f8fae4ee94ff631740f24)\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ae27468d86dc43d8af4120fbbbdb3ad7a0ab4be2",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.dg/torture/pr120043.c"
    },
    {
      "type": "modify",
      "old_id": "a194bf675e4e26b550414dbec3dfc510d6b0c95e",
      "old_mode": 33188,
      "old_path": "gcc/tree-ssa-phiopt.cc",
      "new_id": "7f3390be31e56bb11fe6ebfc102654ec836f5800",
      "new_mode": 33188,
      "new_path": "gcc/tree-ssa-phiopt.cc"
    }
  ]
}
