[PATCH] D30638: [SLP] Fixed non-determenistic behavior in Loop Vectorizer.

Amjad Aboud via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 7 01:13:02 PST 2017


aaboud updated this revision to Diff 90814.

https://reviews.llvm.org/D30638

Files:
  include/llvm/Analysis/LoopAccessAnalysis.h
  lib/Analysis/LoopAccessAnalysis.cpp


Index: lib/Analysis/LoopAccessAnalysis.cpp
===================================================================
--- lib/Analysis/LoopAccessAnalysis.cpp
+++ lib/Analysis/LoopAccessAnalysis.cpp
@@ -498,7 +498,7 @@
 public:
   /// \brief Read or write access location.
   typedef PointerIntPair<Value *, 1, bool> MemAccessInfo;
-  typedef SmallPtrSet<MemAccessInfo, 8> MemAccessInfoSet;
+  typedef SetVector<MemAccessInfo> MemAccessInfoSet;
 
   AccessAnalysis(const DataLayout &Dl, AliasAnalysis *AA, LoopInfo *LI,
                  MemoryDepChecker::DepCandidates &DA,
@@ -1565,7 +1565,7 @@
 
     // Check every access pair.
     while (AI != AE) {
-      CheckDeps.erase(*AI);
+      CheckDeps.remove(*AI);
       EquivalenceClasses<MemAccessInfo>::member_iterator OI = std::next(AI);
       while (OI != AE) {
         // Check every accessing instruction pair in program order.
Index: include/llvm/Analysis/LoopAccessAnalysis.h
===================================================================
--- include/llvm/Analysis/LoopAccessAnalysis.h
+++ include/llvm/Analysis/LoopAccessAnalysis.h
@@ -93,7 +93,7 @@
 class MemoryDepChecker {
 public:
   typedef PointerIntPair<Value *, 1, bool> MemAccessInfo;
-  typedef SmallPtrSet<MemAccessInfo, 8> MemAccessInfoSet;
+  typedef SetVector<MemAccessInfo> MemAccessInfoSet;
   /// \brief Set of potential dependent memory accesses.
   typedef EquivalenceClasses<MemAccessInfo> DepCandidates;
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30638.90814.patch
Type: text/x-patch
Size: 1461 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170307/8861a6b4/attachment.bin>


More information about the llvm-commits mailing list