)]}'
{
  "commit": "ba767d0bbbde4107700ff66ecfd97eb75d85a35d",
  "tree": "2202fd996bb1193d17c21d49d9d89f872db78a76",
  "parents": [
    "85dc81166ac34dfed24f86f7a51fdb16cc7dc2c1"
  ],
  "author": {
    "name": "Jack Styles",
    "email": "jack.styles@arm.com",
    "time": "Wed Apr 22 15:25:04 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 22 14:25:04 2026 +0000"
  },
  "message": "[MachineCopyPropagation][NFC] Refactor EliminateSpillageCopies (#192609)\n\nThis patch builds on the original implementation to address areas that\nmay impact compile time regression if enabled. The aim of the patch is\nto streamline and improve the implementation for better compile time\nimpact. A summary of the changes is as follows:\n- Cost modelling that does an initial scan of the block, any blocks with\nless than 6 copies are immediately skipped.\n- RegMask scan in `findLastSeenDefInCopy` removed. This now only checks\nthe recorded copies to ensure that RegMasks are clobbered when they are\nseen if they clobber a Reg\n- Streamlining of `IsSpillReloadPair` and `IsChainedCopy` to reduce the\nneed for a second call to isCopyInstr to get the DestSourcePair, these\nare now returned from the lamdba function\n- Use of TRI API to get the CommonRegClass\n\nAssisted-by: Claude Sonnet 4.6 (Co-Pilot)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4d2a66f41df93d6ec98e3cac073feca3fc401167",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/MachineCopyPropagation.cpp",
      "new_id": "fd14a02532b98a95b748bfda8bd5c18f8c85c50c",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/MachineCopyPropagation.cpp"
    }
  ]
}
