[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