mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Register re-use for scavenged frame indices must check for re-deginition
of the register in the instruction which kills the scavenged value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84641 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1a49295eae
commit
f7a0c0de6d
@ -873,6 +873,10 @@ void PEI::scavengeFrameVirtualRegs(MachineFunction &Fn) {
|
||||
PrevLastUseOp = i;
|
||||
CurrentScratchReg = CurrentVirtReg = 0;
|
||||
havePrevValue = trackingCurrentValue;
|
||||
// Re-scan the operands of this instruction to catch definitions
|
||||
// of the scratch register we're using. This is to handle things
|
||||
// like ldr "r2, [scratch]" where scratch is r2.
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
RS->forward(MI);
|
||||
|
Loading…
x
Reference in New Issue
Block a user