From: Adam Nemet Date: Thu, 2 Apr 2015 17:51:57 +0000 (+0000) Subject: [LoopAccesses] Handle case when no memchecks are needed after partitioning X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e1aa33fb9a8055cc30658f1ff984dddc38966bb0;p=oota-llvm.git [LoopAccesses] Handle case when no memchecks are needed after partitioning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233930 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/LoopAccessAnalysis.cpp b/lib/Analysis/LoopAccessAnalysis.cpp index 1818e93eb0e..159efff1a70 100644 --- a/lib/Analysis/LoopAccessAnalysis.cpp +++ b/lib/Analysis/LoopAccessAnalysis.cpp @@ -1211,9 +1211,8 @@ static Instruction *getFirstInst(Instruction *FirstInst, Value *V, std::pair LoopAccessInfo::addRuntimeCheck( Instruction *Loc, const SmallVectorImpl *PtrPartition) const { - Instruction *tnullptr = nullptr; if (!PtrRtCheck.Need) - return std::pair(tnullptr, tnullptr); + return std::make_pair(nullptr, nullptr); unsigned NumPointers = PtrRtCheck.Pointers.size(); SmallVector , 2> Starts; @@ -1284,6 +1283,9 @@ std::pair LoopAccessInfo::addRuntimeCheck( } } + if (!MemoryRuntimeCheck) + return std::make_pair(nullptr, nullptr); + // We have to do this trickery because the IRBuilder might fold the check to a // constant expression in which case there is no Instruction anchored in a // the block.