aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-11-28 14:54:10 +0000
committerChris Lattner <sabre@nondot.org>2009-11-28 14:54:10 +0000
commited81875b336e7ec36612a2ae49fbbdf7867f08d2 (patch)
tree61fb2af0887a7707bccdf883ad7154a9fbc69eb7
parentde0b030de1873764c1f3571b75b5f75125ac35f8 (diff)
downloadexternal_llvm-ed81875b336e7ec36612a2ae49fbbdf7867f08d2.zip
external_llvm-ed81875b336e7ec36612a2ae49fbbdf7867f08d2.tar.gz
external_llvm-ed81875b336e7ec36612a2ae49fbbdf7867f08d2.tar.bz2
enable code to handle un-phi-translatable cases more aggressively:
if we don't have an address expression available in a predecessor, then model this as the value being clobbered at the end of the pred block instead of being modeled as a complete phi translation failure. This is important for PRE of loads because we want to see that the load is available in all but this predecessor, and complete phi translation failure results in not getting any information about predecessors. This doesn't do anything until I renable code insertion since PRE now sees that it is available in all but one predecessors, but can't insert the addressing in the predecessor that is missing it to eliminate the redundancy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90037 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Analysis/MemoryDependenceAnalysis.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp
index e936e9d..9644104 100644
--- a/lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/lib/Analysis/MemoryDependenceAnalysis.cpp
@@ -1132,12 +1132,9 @@ getNonLocalPointerDepFromBB(Value *Pointer, uint64_t PointeeSize,
// that predecessor. We can still do PRE of the load, which would insert
// a computation of the pointer in this predecessor.
if (PredPtr == 0) {
- goto PredTranslationFailure;
-#if 0 // TODO.
Result.push_back(NonLocalDepEntry(Pred,
MemDepResult::getClobber(Pred->getTerminator())));
continue;
-#endif
}
// FIXME: it is entirely possible that PHI translating will end up with