summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-11-21 19:42:56 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-11-21 19:42:56 +0000
commit063ae5897c7a46481ecf43cc7e94328719e9f26c (patch)
treea7ce434bab2362a81a7c2afddc8e6b3b5c23ebc7 /llvm/lib
parent9a56882e53cbe26e201d942cd7d1380879b3af86 (diff)
downloadbcm5719-llvm-063ae5897c7a46481ecf43cc7e94328719e9f26c.tar.gz
bcm5719-llvm-063ae5897c7a46481ecf43cc7e94328719e9f26c.zip
Fix crasher in GVN due to my recent capture tracking changes.
llvm-svn: 145047
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Analysis/CaptureTracking.cpp3
-rw-r--r--llvm/lib/Analysis/MemoryDependenceAnalysis.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/CaptureTracking.cpp b/llvm/lib/Analysis/CaptureTracking.cpp
index 03bd70dfa34..9a7992e38d5 100644
--- a/llvm/lib/Analysis/CaptureTracking.cpp
+++ b/llvm/lib/Analysis/CaptureTracking.cpp
@@ -53,6 +53,9 @@ namespace {
/// counts as capturing it or not.
bool llvm::PointerMayBeCaptured(const Value *V,
bool ReturnCaptures, bool StoreCaptures) {
+ assert(!isa<GlobalValue>(V) &&
+ "It doesn't make sense to ask whether a global is captured.");
+
// TODO: If StoreCaptures is not true, we could do Fancy analysis
// to determine whether this store is not actually an escape point.
// In that case, BasicAliasAnalysis should be updated as well to
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
index 128c7f93a4b..704e27b5ce6 100644
--- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
@@ -375,7 +375,7 @@ MemoryDependenceAnalysis::getModRefInfo(const Instruction *Inst,
// with a smarter AA in place, this test is just wasting compile time.
if (!DT) return AliasAnalysis::ModRef;
const Value *Object = GetUnderlyingObject(MemLoc.Ptr, TD);
- if (!isIdentifiedObject(Object) || isa<GlobalVariable>(Object))
+ if (!isIdentifiedObject(Object) || isa<GlobalValue>(Object))
return AliasAnalysis::ModRef;
ImmutableCallSite CS(Inst);
if (!CS.getInstruction()) return AliasAnalysis::ModRef;
OpenPOWER on IntegriCloud