When clearing a non-local pointer dependency cache entry, clear

the reverse map too. This fixes seflhost build errors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118729 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-11-10 22:35:02 +00:00
parent 1d739a010d
commit 2365f08c7d

View File

@ -783,6 +783,10 @@ getNonLocalPointerDepFromBB(const PHITransAddr &Pointer,
// cached data and procede with the query at the greater size. // cached data and procede with the query at the greater size.
CacheInfo->Pair = BBSkipFirstBlockPair(); CacheInfo->Pair = BBSkipFirstBlockPair();
CacheInfo->Size = Loc.Size; CacheInfo->Size = Loc.Size;
for (NonLocalDepInfo::iterator DI = CacheInfo->NonLocalDeps.begin(),
DE = CacheInfo->NonLocalDeps.end(); DI != DE; ++DI)
if (Instruction *Inst = DI->getResult().getInst())
RemoveFromReverseMap(ReverseNonLocalPtrDeps, Inst, CacheKey);
CacheInfo->NonLocalDeps.clear(); CacheInfo->NonLocalDeps.clear();
} else if (CacheInfo->Size > Loc.Size) { } else if (CacheInfo->Size > Loc.Size) {
// This query's Size is less than the cached one. Conservatively restart // This query's Size is less than the cached one. Conservatively restart
@ -800,6 +804,10 @@ getNonLocalPointerDepFromBB(const PHITransAddr &Pointer,
if (CacheInfo->TBAATag) { if (CacheInfo->TBAATag) {
CacheInfo->Pair = BBSkipFirstBlockPair(); CacheInfo->Pair = BBSkipFirstBlockPair();
CacheInfo->TBAATag = 0; CacheInfo->TBAATag = 0;
for (NonLocalDepInfo::iterator DI = CacheInfo->NonLocalDeps.begin(),
DE = CacheInfo->NonLocalDeps.end(); DI != DE; ++DI)
if (Instruction *Inst = DI->getResult().getInst())
RemoveFromReverseMap(ReverseNonLocalPtrDeps, Inst, CacheKey);
CacheInfo->NonLocalDeps.clear(); CacheInfo->NonLocalDeps.clear();
} }
if (Loc.TBAATag) if (Loc.TBAATag)