diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-04-12 15:11:11 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-04-12 15:11:11 +0000 |
commit | 6c2f868bbd489d06b1e22bd8d1ce1e234018dbe5 (patch) | |
tree | ca5f66c4120604497d3d5305a35e550d9374f8ca /llvm/lib/CodeGen/MachinePipeliner.cpp | |
parent | 321f24ec42f65403134031bbe99ad3c468b01efe (diff) | |
download | bcm5719-llvm-6c2f868bbd489d06b1e22bd8d1ce1e234018dbe5.tar.gz bcm5719-llvm-6c2f868bbd489d06b1e22bd8d1ce1e234018dbe5.zip |
[Pipeliner] Use std::stable_sort when ordering NodeSets
There are cases when individual NodeSets can be equal with respect to
the ordering criteria. Since they are stored in an ordered container,
use stable_sort to preserve the relative order of equal NodeSets.
This should remove non-determinism discovered by shuffling done in
llvm::sort with expensive checks enabled.
llvm-svn: 329915
Diffstat (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachinePipeliner.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp index 061d9712036..56d998a6bbc 100644 --- a/llvm/lib/CodeGen/MachinePipeliner.cpp +++ b/llvm/lib/CodeGen/MachinePipeliner.cpp @@ -931,7 +931,7 @@ void SwingSchedulerDAG::schedule() { } }); - llvm::sort(NodeSets.begin(), NodeSets.end(), std::greater<NodeSet>()); + std::stable_sort(NodeSets.begin(), NodeSets.end(), std::greater<NodeSet>()); groupRemainingNodes(NodeSets); |