diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-09-20 22:44:26 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-09-20 22:44:26 +0000 |
| commit | 7e6d56ebc5852a24bd0c46d8315c001032a4fb2a (patch) | |
| tree | 95f235df90be243252765651ebfbbe7be2566fd0 /llvm/lib/Analysis | |
| parent | 3718358476197564f3d767df1561da5e8ad432fc (diff) | |
| download | bcm5719-llvm-7e6d56ebc5852a24bd0c46d8315c001032a4fb2a.tar.gz bcm5719-llvm-7e6d56ebc5852a24bd0c46d8315c001032a4fb2a.zip | |
Revert r82404, it is causing a bootstrap miscompile. This is very very
scary, as it indicates a lurking bug. yay.
llvm-svn: 82411
Diffstat (limited to 'llvm/lib/Analysis')
| -rw-r--r-- | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp index d5db2ed651e..97b791caf92 100644 --- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -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 |

