summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/GVNSink.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2017-08-30 18:46:37 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2017-08-30 18:46:37 +0000
commitb99d7c9214f48fd7b0ed3d4971085581089d35b1 (patch)
treedf3ef5647d4433040515ffe6dd9fac46e04bbd62 /llvm/lib/Transforms/Scalar/GVNSink.cpp
parentfeffb0c8af00b975d678a364fff19c4ffb8bfd61 (diff)
downloadbcm5719-llvm-b99d7c9214f48fd7b0ed3d4971085581089d35b1.tar.gz
bcm5719-llvm-b99d7c9214f48fd7b0ed3d4971085581089d35b1.zip
[GVNSink] Remove dependency on SmallPtrSet iteration order.
Found by LLVM_ENABLE_REVERSE_ITERATION. llvm-svn: 312156
Diffstat (limited to 'llvm/lib/Transforms/Scalar/GVNSink.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/GVNSink.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVNSink.cpp b/llvm/lib/Transforms/Scalar/GVNSink.cpp
index 5fd2dfc118b..1eda0f36bd5 100644
--- a/llvm/lib/Transforms/Scalar/GVNSink.cpp
+++ b/llvm/lib/Transforms/Scalar/GVNSink.cpp
@@ -229,12 +229,14 @@ public:
ModelledPHI(const VArray &V, const BArray &B) {
std::copy(V.begin(), V.end(), std::back_inserter(Values));
std::copy(B.begin(), B.end(), std::back_inserter(Blocks));
+ std::sort(Blocks.begin(), Blocks.end());
}
/// Create a PHI from [I[OpNum] for I in Insts].
template <typename BArray>
ModelledPHI(ArrayRef<Instruction *> Insts, unsigned OpNum, const BArray &B) {
std::copy(B.begin(), B.end(), std::back_inserter(Blocks));
+ std::sort(Blocks.begin(), Blocks.end());
for (auto *I : Insts)
Values.push_back(I->getOperand(OpNum));
}
OpenPOWER on IntegriCloud