mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 05:22:04 +00:00
Fix PR11829. PostRA LICM was too aggressive.
This fixes a typo in r148589. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148724 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -462,13 +462,13 @@ void MachineLICM::ProcessMI(MachineInstr *MI,
|
||||
// register, then this is not safe. Two defs is indicated by setting a
|
||||
// PhysRegClobbers bit.
|
||||
for (const unsigned *AS = TRI->getOverlaps(Reg); *AS; ++AS) {
|
||||
if (PhysRegDefs.test(Reg))
|
||||
PhysRegClobbers.set(Reg);
|
||||
if (PhysRegClobbers.test(Reg))
|
||||
if (PhysRegDefs.test(*AS))
|
||||
PhysRegClobbers.set(*AS);
|
||||
if (PhysRegClobbers.test(*AS))
|
||||
// MI defined register is seen defined by another instruction in
|
||||
// the loop, it cannot be a LICM candidate.
|
||||
RuledOut = true;
|
||||
PhysRegDefs.set(Reg);
|
||||
PhysRegDefs.set(*AS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user