mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-13 01:15:32 +00:00
Check that pointers are removed from maps before calling delete on the pointers,
for tidiness' sake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174988 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
67cd669f7b
commit
c73b96a99f
@ -2371,8 +2371,8 @@ bool GVN::processBlock(BasicBlock *BB) {
|
|||||||
E = InstrsToErase.end(); I != E; ++I) {
|
E = InstrsToErase.end(); I != E; ++I) {
|
||||||
DEBUG(dbgs() << "GVN removed: " << **I << '\n');
|
DEBUG(dbgs() << "GVN removed: " << **I << '\n');
|
||||||
if (MD) MD->removeInstruction(*I);
|
if (MD) MD->removeInstruction(*I);
|
||||||
(*I)->eraseFromParent();
|
|
||||||
DEBUG(verifyRemoved(*I));
|
DEBUG(verifyRemoved(*I));
|
||||||
|
(*I)->eraseFromParent();
|
||||||
}
|
}
|
||||||
InstrsToErase.clear();
|
InstrsToErase.clear();
|
||||||
|
|
||||||
@ -2504,8 +2504,8 @@ bool GVN::performPRE(Function &F) {
|
|||||||
// the PRE predecessor. This is typically because of loads which
|
// the PRE predecessor. This is typically because of loads which
|
||||||
// are not value numbered precisely.
|
// are not value numbered precisely.
|
||||||
if (!success) {
|
if (!success) {
|
||||||
delete PREInstr;
|
|
||||||
DEBUG(verifyRemoved(PREInstr));
|
DEBUG(verifyRemoved(PREInstr));
|
||||||
|
delete PREInstr;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2551,8 +2551,8 @@ bool GVN::performPRE(Function &F) {
|
|||||||
|
|
||||||
DEBUG(dbgs() << "GVN PRE removed: " << *CurInst << '\n');
|
DEBUG(dbgs() << "GVN PRE removed: " << *CurInst << '\n');
|
||||||
if (MD) MD->removeInstruction(CurInst);
|
if (MD) MD->removeInstruction(CurInst);
|
||||||
CurInst->eraseFromParent();
|
|
||||||
DEBUG(verifyRemoved(CurInst));
|
DEBUG(verifyRemoved(CurInst));
|
||||||
|
CurInst->eraseFromParent();
|
||||||
Changed = true;
|
Changed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user