mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
PPC::DBG_VALUE must use Reg+Imm frame-index elimination even for large offsets. Fixes PR12203.
I don't have a small test case yet, but I'll try to construct one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153240 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eabe3ad57d
commit
f2f6182f6a
@ -554,7 +554,8 @@ PPCRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
|
||||
// clear can be encoded. This is extremely uncommon, because normally you
|
||||
// only "std" to a stack slot that is at least 4-byte aligned, but it can
|
||||
// happen in invalid code.
|
||||
if (isInt<16>(Offset) && (!isIXAddr || (Offset & 3) == 0)) {
|
||||
if (OpC == PPC::DBG_VALUE || // DBG_VALUE is always Reg+Imm
|
||||
(isInt<16>(Offset) && (!isIXAddr || (Offset & 3) == 0))) {
|
||||
if (isIXAddr)
|
||||
Offset >>= 2; // The actual encoded value has the low two bits zero.
|
||||
MI.getOperand(OffsetOperandNo).ChangeToImmediate(Offset);
|
||||
|
Loading…
Reference in New Issue
Block a user