LoopVectorize: Use SetVector for the access set

We are creating the runtime checks using this set so we need a deterministic
iteration order.

llvm-svn: 184723
This commit is contained in:
Arnold Schwaighofer 2013-06-24 12:09:12 +00:00
parent 5f83058705
commit 75b76bf92f

View File

@ -49,6 +49,7 @@
#include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/EquivalenceClasses.h" #include "llvm/ADT/EquivalenceClasses.h"
#include "llvm/ADT/MapVector.h" #include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h" #include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/SmallVector.h"
@ -2888,7 +2889,7 @@ public:
DenseSet<MemAccessInfo> &getDependenciesToCheck() { return CheckDeps; } DenseSet<MemAccessInfo> &getDependenciesToCheck() { return CheckDeps; }
private: private:
typedef DenseSet<MemAccessInfo> PtrAccessSet; typedef SetVector<MemAccessInfo> PtrAccessSet;
typedef DenseMap<Value*, MemAccessInfo> UnderlyingObjToAccessMap; typedef DenseMap<Value*, MemAccessInfo> UnderlyingObjToAccessMap;
/// \brief Go over all memory access or only the deferred ones if /// \brief Go over all memory access or only the deferred ones if