[llvm] r185886 - This patch changes the saved IRBuilder insert point from BasicBlock::iterator to AssertingVH.

Nadav Rotem nrotem at apple.com
Mon Jul 8 16:31:13 PDT 2013


Author: nadav
Date: Mon Jul  8 18:31:13 2013
New Revision: 185886

URL: http://llvm.org/viewvc/llvm-project?rev=185886&view=rev
Log:

This patch changes the saved IRBuilder insert point from BasicBlock::iterator to AssertingVH.

Commit 185883 fixes a bug in the IRBuilder that should fix the ASan bot. AssertingVH can help in exposing some RAUW problems.

Thanks Ben and Alexey!


Modified:
    llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp

Modified: llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp?rev=185886&r1=185885&r2=185886&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp Mon Jul  8 18:31:13 2013
@@ -66,7 +66,7 @@ private:
   BuilderLocGuard(const BuilderLocGuard &);
   BuilderLocGuard &operator=(const BuilderLocGuard &);
   IRBuilder<> &Builder;
-  BasicBlock::iterator Loc;
+  AssertingVH<Instruction> Loc;
 };
 
 /// A helper class for numbering instructions in multible blocks.
@@ -1217,6 +1217,7 @@ Value *BoUpSLP::vectorizeTree(TreeEntry
 }
 
 void BoUpSLP::vectorizeTree() {
+  Builder.SetInsertPoint(&F->getEntryBlock());
   vectorizeTree(&VectorizableTree[0]);
 
   // For each vectorized value:





More information about the llvm-commits mailing list