Revert r82404, it is causing a bootstrap miscompile. This is very very

scary, as it indicates a lurking bug. yay.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82411 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-09-20 22:44:26 +00:00
parent 3711b7adcc
commit 66364346e0
2 changed files with 1 additions and 40 deletions

View File

@ -521,13 +521,6 @@ getNonLocalPointerDependency(Value *Pointer, bool isLoad, BasicBlock *FromBB,
const Type *EltTy = cast<PointerType>(Pointer->getType())->getElementType();
uint64_t PointeeSize = AA->getTypeStoreSize(EltTy);
// If Pointer is a bitcast instruction, chomp through to the pointee since
// they are must alias. This increases the effectiveness of caching by
// finding more equivalences, avoids having to phi translate the bitcast, and
// avoids conflicts where we are looking for two "different" values in the
// same block when they are really just must aliases.
Pointer = Pointer->stripPointerCasts();
// This is the set of blocks we've inspected, and the pointer we consider in
// each block. Because of critical edges, we currently bail out if querying
// a block with multiple different pointers. This can happen during PHI
@ -667,6 +660,7 @@ getNonLocalPointerDepFromBB(Value *Pointer, uint64_t PointeeSize,
SmallVectorImpl<NonLocalDepEntry> &Result,
DenseMap<BasicBlock*, Value*> &Visited,
bool SkipFirstBlock) {
// Look up the cached info for Pointer.
ValueIsLoadPair CacheKey(Pointer, isLoad);
@ -799,13 +793,6 @@ getNonLocalPointerDepFromBB(Value *Pointer, uint64_t PointeeSize,
BasicBlock *Pred = *PI;
Value *PredPtr = PtrPHI->getIncomingValueForBlock(Pred);
// If Pointer is a bitcast instruction, chomp through to the pointee since
// they are must alias. This increases the effectiveness of caching by
// finding more equivalences, avoids having to phi translate the bitcast, and
// avoids conflicts where we are looking for two "different" values in the
// same block when they are really just must aliases.
PredPtr = PredPtr->stripPointerCasts();
// Check to see if we have already visited this pred block with another
// pointer. If so, we can't do this lookup. This failure can occur
// with PHI translation when a critical edge exists and the PHI node in