)]}'
{
  "commit": "abd502a44e5ef19a302d943eeb017c29124b96e9",
  "tree": "0f5aa1d970d5e5d757862176d8c71389b8537251",
  "parents": [
    "9a81d3995949135935602557702abc3cf28d3a40"
  ],
  "author": {
    "name": "Zile Xiong",
    "email": "xiongzile@bytedance.com",
    "time": "Wed Apr 08 23:11:31 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 08 15:11:31 2026 +0000"
  },
  "message": "[X86] Fix missing ByValTemporaries update in CopyViaTemp path for musttail calls (#190540)\n\nThis fixes a miscompilation in musttail calls with byval arguments on\nX86.\n\nIn the CopyViaTemp path, a temporary stack object is created and the\nargument is copied into it.\nHowever, the temporary is not recorded in ByValTemporaries, \nso the final lowering phase does not emit the copy to the real outgoing\nargument slot.\n\nAs a result, the callee may read incorrect values from the stack.\n\nFix this by recording the temporary in ByValTemporaries so that the\nfinal lowering step correctly copies the argument to the expected stack\nlocation.\n\nReproducer: https://github.com/llvm/llvm-project/issues/190429",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "37c80e27f4bd2d51da2adcaa10b7f19ac19a2c65",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86ISelLoweringCall.cpp",
      "new_id": "65d77769b3c456713a641d0752388b75e4501e15",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86ISelLoweringCall.cpp"
    },
    {
      "type": "modify",
      "old_id": "735fd674a2ff129e2221ac79d02d39185a82874d",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/X86/musttail-struct.ll",
      "new_id": "22a2aedb6e21336dd40009b54872ff2a7daf050e",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/X86/musttail-struct.ll"
    }
  ]
}
