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:
Jakob Stoklund Olesen
2012-01-23 21:01:15 +00:00
parent 39f6660193
commit d0848a6398
2 changed files with 109 additions and 4 deletions
+4 -4
View File
@@ -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);
}
}