Remove a source of nondeterminism from the LoopVectorizer.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 9 Mar 2013 19:22:40 +0000 (19:22 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 9 Mar 2013 19:22:40 +0000 (19:22 +0000)
This made us emit runtime checks in a random order. Hopefully bootstrap
miscompares will go away now.

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

lib/Transforms/Vectorize/LoopVectorize.cpp

index 3da0f5d2104bd70335f5a2c36e172651a69dcbac..07dd4534249a88dfbf7f828390c61698e9342f83 100644 (file)
@@ -419,7 +419,7 @@ public:
 
   /// Alias(Multi)Map stores the values (GEPs or underlying objects and their
   /// respective Store/Load instruction(s) to calculate aliasing.
-  typedef DenseMap<Value*, Instruction* > AliasMap;
+  typedef MapVector<Value*, Instruction* > AliasMap;
   typedef DenseMap<Value*, std::vector<Instruction*> > AliasMultiMap;
 
   /// Returns true if it is legal to vectorize this loop.