Fix a bug introduced in my last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40542 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp
index 064a087..4bd8771 100644
--- a/lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/lib/Analysis/MemoryDependenceAnalysis.cpp
@@ -117,12 +117,18 @@
visited.insert(block);
bool inserted = false;
+ bool predOnStack = false;
for (pred_iterator PI = pred_begin(block), PE = pred_end(block);
PI != PE; ++PI)
if (!visited.count(*PI))
inserted |= nonLocalHelper(query, *PI, resp, visited);
-
+ else
+ predOnStack = true;
+
visited.erase(block);
+
+ if (!inserted && !predOnStack)
+ resp.insert(std::make_pair(block, None));
return inserted;
}