summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachinePipeliner.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-04-12 15:11:11 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-04-12 15:11:11 +0000
commit6c2f868bbd489d06b1e22bd8d1ce1e234018dbe5 (patch)
treeca5f66c4120604497d3d5305a35e550d9374f8ca /llvm/lib/CodeGen/MachinePipeliner.cpp
parent321f24ec42f65403134031bbe99ad3c468b01efe (diff)
downloadbcm5719-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.cpp2
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);
OpenPOWER on IntegriCloud