)]}'
{
  "commit": "b1dcf78378aaded19b47886cece991cee3441207",
  "tree": "cdc8a0046298df1254b6e81df668b6f02475c3a7",
  "parents": [
    "ef048471f70143b4c0505dff10828a5b7e3a4ec4"
  ],
  "author": {
    "name": "Feng Zou",
    "email": "feng.zou@intel.com",
    "time": "Tue Jun 24 14:22:14 2025 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jun 24 14:22:14 2025 +0800"
  },
  "message": "[X86][APX] Fix issue of push2/pop2 instr with stack clash protection (#145303)\n\nWhen -stack-clash-protection option is specified and APX push2pop2 is\nenabled, there will be two calls to emitSPUpdate function which emits\ntwo STACKALLOC_W_PROBING pseudo instructions. The pseudo instruction for\npush2 padding is silently ignored which leads to the stack misaligned to\n16 bytes and GP exception in runtime. Fixed by directly emitting \"push\n%rax\" instruction for push2 padding, instead of calling emitSPUpdate.\nThere was a similar issue on https://reviews.llvm.org/D150033.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "42a09106b3a3a0429d2e78dd5f6af180358063e4",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86FrameLowering.cpp",
      "new_id": "c96d3c15a8823b5afcbf9457105f67c036d688c9",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86FrameLowering.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a7795f0b6bc5d9e62515db206aa446bf2ca6c656",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/X86/apx/pp2-with-stack-clash-protection.ll"
    }
  ]
}
