diff options
author | Wesley Wiser <wwiser@gmail.com> | 2025-08-11 10:53:44 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-11 21:23:44 +0530 |
commit | 40a469f79a0807a04bb805c749ec2ee723dd833c (patch) | |
tree | a8c09925524fb941e9ce07a9b69d1560d7f9fb63 /llvm/lib/CodeGen | |
parent | 9c8e71644227e2a30403dbfe075f96374ba9739c (diff) | |
download | llvm-40a469f79a0807a04bb805c749ec2ee723dd833c.zip llvm-40a469f79a0807a04bb805c749ec2ee723dd833c.tar.gz llvm-40a469f79a0807a04bb805c749ec2ee723dd833c.tar.bz2 |
Reapply "[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets" (#152239)
The first commit is identical to
69bec0afbb8f2aa0021d18ea38768360b16583a9.
The second commit fixes the instruction verification failures by
replacing the erroneous instruction with a trap after the error is
reported and adds `-verify-machineinstrs` to the tests added in the
original PR to catch the issue sooner.
After that change, all tests pass with both
`LLVM_ENABLE_EXPENSIVE_CHECKS={On,Off}`.
cc @RKSimon @e-kud @phoebewang @arsenm as reviewers on the original PR
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/PrologEpilogInserter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp index f66f546..7b751ba 100644 --- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp +++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp @@ -1550,7 +1550,7 @@ void PEIImpl::replaceFrameIndices(MachineBasicBlock *BB, MachineFunction &MF, // If this instruction has a FrameIndex operand, we need to // use that target machine register info object to eliminate // it. - TRI.eliminateFrameIndex(MI, SPAdj, i); + TRI.eliminateFrameIndex(MI, SPAdj, i, RS); // Reset the iterator if we were at the beginning of the BB. if (AtBeginning) { |