[all-commits] [llvm/llvm-project] 768598: Revert "[LLVM] [X86] Fix integer overflows in fram...

Hans via All-commits all-commits at lists.llvm.org
Wed Aug 21 01:24:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 768598bcc3528ff5c4cd2c8a9b74d023614e1a9e
      https://github.com/llvm/llvm-project/commit/768598bcc3528ff5c4cd2c8a9b74d023614e1a9e
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    R llvm/test/CodeGen/X86/avx512f-large-stack.ll
    M llvm/test/CodeGen/X86/huge-stack.ll
    M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll

  Log Message:
  -----------
  Revert "[LLVM] [X86] Fix integer overflows in frame layout for huge frames (#101840)"

This casuses assertion failures targeting 32-bit x86:

  lib/Target/X86/X86RegisterInfo.cpp:989:
  virtual bool llvm::X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator, int, unsigned int, RegScavenger *) const:
  Assertion `(Is64Bit || FitsIn32Bits) && "Requesting 64-bit offset in 32-bit immediate!"' failed.

See comment on the PR.

> Fix 32-bit integer overflows in the X86 target frame layout when dealing
> with frames larger than 4gb. When this occurs, we'll scavenge a scratch
> register to be able to hold the correct stack offset for frame locals.
>
> This completes reapplying #84114.
>
> Fixes #48911
> Fixes #75944
> Fixes #87154

This reverts commit 0abb7791614947bc24931dd851ade31d02496977.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list