mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
fix a latent bug in memcpyoptimizer that my recent patches exposed: it wasn't
updating memdep when fusing stores together. This fixes the crash optimizing the bullet benchmark. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123091 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0468e3e265
commit
8a629577f8
@ -456,8 +456,10 @@ Instruction *MemCpyOpt::tryMergingIntoMemset(Instruction *StartInst,
|
||||
// Zap all the stores.
|
||||
for (SmallVector<Instruction*, 16>::const_iterator
|
||||
SI = Range.TheStores.begin(),
|
||||
SE = Range.TheStores.end(); SI != SE; ++SI)
|
||||
SE = Range.TheStores.end(); SI != SE; ++SI) {
|
||||
MD->removeInstruction(*SI);
|
||||
(*SI)->eraseFromParent();
|
||||
}
|
||||
++NumMemSetInfer;
|
||||
}
|
||||
|
||||
@ -912,7 +914,7 @@ bool MemCpyOpt::iterateOnFunction(Function &F) {
|
||||
|
||||
// Reprocess the instruction if desired.
|
||||
if (RepeatInstruction) {
|
||||
--BI;
|
||||
if (BI != BB->begin()) --BI;
|
||||
MadeChange = true;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user