)]}'
{
  "commit": "768598bcc3528ff5c4cd2c8a9b74d023614e1a9e",
  "tree": "f49c55bde0e973d9e2033d473a18a4aa0082a29d",
  "parents": [
    "a811f263356af4fcf5b479c7a32d1bab44ac8954"
  ],
  "author": {
    "name": "Hans Wennborg",
    "email": "hans@chromium.org",
    "time": "Wed Aug 21 10:12:37 2024 +0200"
  },
  "committer": {
    "name": "Hans Wennborg",
    "email": "hans@chromium.org",
    "time": "Wed Aug 21 10:23:20 2024 +0200"
  },
  "message": "Revert \"[LLVM] [X86] Fix integer overflows in frame layout for huge frames (#101840)\"\n\nThis casuses assertion failures targeting 32-bit x86:\n\n  lib/Target/X86/X86RegisterInfo.cpp:989:\n  virtual bool llvm::X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator, int, unsigned int, RegScavenger *) const:\n  Assertion `(Is64Bit || FitsIn32Bits) \u0026\u0026 \"Requesting 64-bit offset in 32-bit immediate!\"\u0027 failed.\n\nSee comment on the PR.\n\n\u003e Fix 32-bit integer overflows in the X86 target frame layout when dealing\n\u003e with frames larger than 4gb. When this occurs, we\u0027ll scavenge a scratch\n\u003e register to be able to hold the correct stack offset for frame locals.\n\u003e\n\u003e This completes reapplying #84114.\n\u003e\n\u003e Fixes #48911\n\u003e Fixes #75944\n\u003e Fixes #87154\n\nThis reverts commit 0abb7791614947bc24931dd851ade31d02496977.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c03ea5878052130cca304cc3c3c38f3a0d3c5886",
      "old_mode": 33188,
      "old_path": "llvm/lib/CodeGen/PrologEpilogInserter.cpp",
      "new_id": "ee03eaa8ae527c6536d5a7195f49e3b478cf60bd",
      "new_mode": 33188,
      "new_path": "llvm/lib/CodeGen/PrologEpilogInserter.cpp"
    },
    {
      "type": "modify",
      "old_id": "d850f4fd76831185ab17be567b75db8e2574e095",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86FrameLowering.cpp",
      "new_id": "8404f2231680d6112ac78e313176c0634c23f423",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86FrameLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "79ee9ecfdf3ce7e8bfed89595076b47ba612a79e",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86RegisterInfo.cpp",
      "new_id": "638eb1c4f11e41789dda0b6ad00f7ef1f876b362",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86RegisterInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "dd03a108fb8e693075c3c72ba66f9df514ac8793",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86RegisterInfo.h",
      "new_id": "7296a5f021e4ad4a2073dcdac5df786c15ea8910",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86RegisterInfo.h"
    },
    {
      "type": "delete",
      "old_id": "3cb5391c56abf5c2a6cdd77eaf2a8f177815b9ba",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/X86/avx512f-large-stack.ll",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "41b8a0141b63d8be5f196ffacfb73c2b54e3ee2b",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/X86/huge-stack.ll",
      "new_id": "920033ba1182c3fa7c41582a50fa2d9e1b4786b7",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/X86/huge-stack.ll"
    },
    {
      "type": "modify",
      "old_id": "732fc6543e3141024d48cb0ab97fbd85f985fdb3",
      "old_mode": 33188,
      "old_path": "llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll",
      "new_id": "9555ce032db90cbc3e762db7d22023fc923659fd",
      "new_mode": 33188,
      "new_path": "llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll"
    }
  ]
}
