diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-08-30 18:46:37 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-08-30 18:46:37 +0000 |
commit | b99d7c9214f48fd7b0ed3d4971085581089d35b1 (patch) | |
tree | df3ef5647d4433040515ffe6dd9fac46e04bbd62 /llvm/lib/Transforms/Scalar/GVNSink.cpp | |
parent | feffb0c8af00b975d678a364fff19c4ffb8bfd61 (diff) | |
download | bcm5719-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.cpp | 2 |
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)); } |