)]}'
{
  "commit": "39795d4cfe6f2481be40072cbbdac19e6c390ab7",
  "tree": "91391f22033f3ff12ac8c6a3e8b2ef555556e3e2",
  "parents": [
    "0049c6be8be091b2b313c71ef516ee346252ce05"
  ],
  "author": {
    "name": "Nick Riasanovsky",
    "email": "njriasan@meta.com",
    "time": "Wed Oct 21 17:16:34 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Oct 21 17:23:43 2026 -0700"
  },
  "message": "[MachineScheduler] Fix stale read-undef flags when rescheduling physreg copies (#227897)\n\n`GenericScheduler::reschedulePhysReg` can leave stale `read-undef` flags\nwhen moving an already-scheduled COPY. This can be exposed most commonly\nif a user introduces a large inline assembly section that can otherwise\nlimit the registers that are available to the compiler.\n\nThis addresses this bug in 2 steps:\n\n1) Check for backends that can produce `read-undef` on subregisters in a\nway that can meaningful move (e.g. has lane mask).\n2) After a move regenerate the `read-undef` flags for just the region of\n\"movement\" between the old/new location in the code.\n\nYou can find the motivating example here:\nhttps://gist.github.com/njriasan/73a4b080e98cdb54bd0b59138bc5ad9c\n\nGitOrigin-RevId: e01f8e16d7f18fb41a42ca6a3924f1290aebbfe2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a7f488e6e6d21c9bb5a5c74149e2b44c3df6c168",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/MachineScheduler.cpp",
      "new_id": "ed9bf1b2d8de0f8cb7171d74c5822e42cf5d20e1",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/MachineScheduler.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8bdbd1a674ca0e9bc11534236f3d953d97318d3e",
      "new_mode": 33188,
      "new_path": "test/CodeGen/AMDGPU/reschedule-physreg-copy-stale-undef.ll"
    },
    {
      "type": "modify",
      "old_id": "38b8e4026a8effdf8e46ae6043d9f56417b31412",
      "old_mode": 33188,
      "old_path": "test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll",
      "new_id": "0da7fa6eaf6d143c2b8d520e9e504e3ba60a9c8b",
      "new_mode": 33188,
      "new_path": "test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll"
    }
  ]
}
