From 6951381995f24dc9c7bbcacefd5a1315784f66f3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 5 Dec 2008 18:46:19 +0000 Subject: [PATCH] Make it illegal to call getDependency* on non-memory instructions like binary operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60600 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/MemoryDependenceAnalysis.h | 3 ++- lib/Analysis/MemoryDependenceAnalysis.cpp | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/llvm/Analysis/MemoryDependenceAnalysis.h b/include/llvm/Analysis/MemoryDependenceAnalysis.h index 5e0612177e2..b9138ef8085 100644 --- a/include/llvm/Analysis/MemoryDependenceAnalysis.h +++ b/include/llvm/Analysis/MemoryDependenceAnalysis.h @@ -180,7 +180,8 @@ namespace llvm { virtual void getAnalysisUsage(AnalysisUsage &AU) const; /// getDependency - Return the instruction on which a memory operation - /// depends. See the class comment for more details. + /// depends. See the class comment for more details. It is illegal to call + /// this on non-memory instructions. MemDepResult getDependency(Instruction *QueryInst); /// getDependencyFrom - Return the instruction on which the memory operation diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp index c47ec0493a5..c75cbf2c59f 100644 --- a/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -118,10 +118,11 @@ getDependencyFrom(Instruction *QueryInst, BasicBlock::iterator ScanIt, MemPtr = F->getPointerOperand(); // FreeInsts erase the entire structure, not just a field. MemSize = ~0UL; - } else if (isa(QueryInst) || isa(QueryInst)) + } else { + assert((isa(QueryInst) || isa(QueryInst)) && + "Can only get dependency info for memory instructions!"); return getCallSiteDependency(CallSite::get(QueryInst), ScanIt, BB); - else // Non-memory instructions depend on nothing. - return MemDepResult::getNone(); + } // Walk backwards through the basic block, looking for dependencies while (ScanIt != BB->begin()) { -- 2.34.1