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 | |
| 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
| -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)); } |

