)]}'
{
  "commit": "6b974e2bd3197bf6ff2245f5b24c0fccef352903",
  "tree": "3bcfa24fd66e1fe3198857d8774fb764218c5553",
  "parents": [
    "a57f07aac237d366630e85d080ef1ce0c34f0d09"
  ],
  "author": {
    "name": "Michael Munday",
    "email": "mike.munday@ibm.com",
    "time": "Tue Apr 14 15:46:26 2020 +0100"
  },
  "committer": {
    "name": "Andrew Bonventre",
    "email": "andybons@golang.org",
    "time": "Tue Apr 28 16:29:29 2020 +0000"
  },
  "message": "[release-branch.go1.13] cmd/compile: fix deallocation of live value copies in regalloc\n\nWhen deallocating the input register to a phi so that the phi\nitself could be allocated to that register the code was also\ndeallocating all copies of that phi input value. Those copies\nof the value could still be live and if they were the register\nallocator could reuse them incorrectly to hold speculative\ncopies of other phi inputs. This causes strange bugs.\n\nNo test because this is a very obscure scenario that is hard\nto replicate but CL 228060 adds an assertion to the compiler\nthat does trigger when running the std tests on linux/s390x\nwithout this CL applied. Hopefully that assertion will prevent\nfuture regressions.\n\nFixes #38442.\n\nChange-Id: Id975dadedd731c7bb21933b9ea6b17daaa5c9e1d\nReviewed-on: https://go-review.googlesource.com/c/go/+/228061\nRun-TryBot: Michael Munday \u003cmike.munday@ibm.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Keith Randall \u003ckhr@golang.org\u003e\n(cherry picked from commit 382fe3e2498f2066400e7e7007aa9903440e339d)\nReviewed-on: https://go-review.googlesource.com/c/go/+/230358\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8abbf615076fb7c422812e71d763501425176f84",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/ssa/regalloc.go",
      "new_id": "e92ab00e952e567b989504eea53c3d9b02c608ca",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/ssa/regalloc.go"
    }
  ]
}
