summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2018-11-16 08:35:19 +0000
committerSam Parker <sam.parker@arm.com>2018-11-16 08:35:19 +0000
commitab99cfab21ef7d1ef4474f137a3e1e83598e85bd (patch)
treee59679eb070d701e11ff8a2bad32def98d53f96c
parent98ae975187c75ad17a1fdc3e82a844e9ae3f5c84 (diff)
downloadbcm5719-llvm-ab99cfab21ef7d1ef4474f137a3e1e83598e85bd.tar.gz
bcm5719-llvm-ab99cfab21ef7d1ef4474f137a3e1e83598e85bd.zip
[DAGCombine] Fix non-deterministic debug output
PR37970 reported non-deterministic debug output, this was caused by iterating through a set and not a a vector. bugzilla: https://bugs.llvm.org/show_bug.cgi?id=37970 Differential Revision: https://reviews.llvm.org/D54570 llvm-svn: 347037
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 0603d8f4c48..b35c84f8da0 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -528,7 +528,7 @@ namespace {
EVT &MemVT, unsigned ShAmt = 0);
/// Used by BackwardsPropagateMask to find suitable loads.
- bool SearchForAndLoads(SDNode *N, SmallPtrSetImpl<LoadSDNode*> &Loads,
+ bool SearchForAndLoads(SDNode *N, SmallVectorImpl<LoadSDNode*> &Loads,
SmallPtrSetImpl<SDNode*> &NodesWithConsts,
ConstantSDNode *Mask, SDNode *&NodeToMask);
/// Attempt to propagate a given AND node back to load leaves so that they
@@ -4213,7 +4213,7 @@ bool DAGCombiner::isLegalNarrowLdSt(LSBaseSDNode *LDST,
}
bool DAGCombiner::SearchForAndLoads(SDNode *N,
- SmallPtrSetImpl<LoadSDNode*> &Loads,
+ SmallVectorImpl<LoadSDNode*> &Loads,
SmallPtrSetImpl<SDNode*> &NodesWithConsts,
ConstantSDNode *Mask,
SDNode *&NodeToMask) {
@@ -4250,7 +4250,7 @@ bool DAGCombiner::SearchForAndLoads(SDNode *N,
// Use LE to convert equal sized loads to zext.
if (ExtVT.bitsLE(Load->getMemoryVT()))
- Loads.insert(Load);
+ Loads.push_back(Load);
continue;
}
@@ -4315,7 +4315,7 @@ bool DAGCombiner::BackwardsPropagateMask(SDNode *N, SelectionDAG &DAG) {
if (isa<LoadSDNode>(N->getOperand(0)))
return false;
- SmallPtrSet<LoadSDNode*, 8> Loads;
+ SmallVector<LoadSDNode*, 8> Loads;
SmallPtrSet<SDNode*, 2> NodesWithConsts;
SDNode *FixupNode = nullptr;
if (SearchForAndLoads(N, Loads, NodesWithConsts, Mask, FixupNode)) {
OpenPOWER on IntegriCloud