OSDN Git Service

[LoopVectorize] Fix for non-determinism in codegen
authorMandeep Singh Grang <mgrang@codeaurora.org>
Wed, 16 Nov 2016 18:53:17 +0000 (18:53 +0000)
committerMandeep Singh Grang <mgrang@codeaurora.org>
Wed, 16 Nov 2016 18:53:17 +0000 (18:53 +0000)
Summary: This patch fixes issues in codegen uncovered due to https://reviews.llvm.org/D26718

Reviewers: mssimpso

Subscribers: llvm-commits, mzolotukhin

Differential Revision: https://reviews.llvm.org/D26727

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287135 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Vectorize/LoopVectorize.cpp

index d170395..e4cf928 100644 (file)
@@ -5497,7 +5497,7 @@ void LoopVectorizationLegality::collectLoopUniforms() {
   // are pointers that are treated like consecutive pointers during
   // vectorization. The pointer operands of interleaved accesses are an
   // example.
-  SmallPtrSet<Instruction *, 8> ConsecutiveLikePtrs;
+  SmallSetVector<Instruction *, 8> ConsecutiveLikePtrs;
 
   // Holds pointer operands of instructions that are possibly non-uniform.
   SmallPtrSet<Instruction *, 8> PossibleNonUniformPtrs;