mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-14 13:07:31 +00:00
Fix for PR4124. Make TwoAddressFormPass::FindLastUseInMBB return the real last use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71769 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f957012866
commit
a7c9deaa2b
@ -316,7 +316,7 @@ bool TwoAddressInstructionPass::NoUseAfterLastDef(unsigned Reg,
|
||||
MachineInstr *TwoAddressInstructionPass::FindLastUseInMBB(unsigned Reg,
|
||||
MachineBasicBlock *MBB,
|
||||
unsigned Dist) {
|
||||
unsigned LastUseDist = Dist;
|
||||
unsigned LastUseDist = 0;
|
||||
MachineInstr *LastUse = 0;
|
||||
for (MachineRegisterInfo::reg_iterator I = MRI->reg_begin(Reg),
|
||||
E = MRI->reg_end(); I != E; ++I) {
|
||||
@ -327,7 +327,10 @@ MachineInstr *TwoAddressInstructionPass::FindLastUseInMBB(unsigned Reg,
|
||||
DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(MI);
|
||||
if (DI == DistanceMap.end())
|
||||
continue;
|
||||
if (MO.isUse() && DI->second < LastUseDist) {
|
||||
if (DI->second >= Dist)
|
||||
continue;
|
||||
|
||||
if (MO.isUse() && DI->second > LastUseDist) {
|
||||
LastUse = DI->first;
|
||||
LastUseDist = DI->second;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user