From e92f0cfe349ab0ba9b8bd698ef68e78f9382f63e Mon Sep 17 00:00:00 2001 From: Mandeep Singh Grang Date: Fri, 6 Apr 2018 18:08:42 +0000 Subject: [CodeGen] Change std::sort to llvm::sort in response to r327219 Summary: r327219 added wrappers to std::sort which randomly shuffle the container before sorting. This will help in uncovering non-determinism caused due to undefined sorting order of objects having the same key. To make use of that infrastructure we need to invoke llvm::sort instead of std::sort. Note: This patch is one of a series of patches to replace *all* std::sort to llvm::sort. Refer the comments section in D44363 for a list of all the required patches. Reviewers: bogner, rnk, MatzeB, RKSimon Reviewed By: rnk Subscribers: JDevlieghere, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D45133 llvm-svn: 329435 --- llvm/lib/CodeGen/MachinePipeliner.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp') diff --git a/llvm/lib/CodeGen/MachinePipeliner.cpp b/llvm/lib/CodeGen/MachinePipeliner.cpp index 7a201bc..061d971 100644 --- a/llvm/lib/CodeGen/MachinePipeliner.cpp +++ b/llvm/lib/CodeGen/MachinePipeliner.cpp @@ -931,7 +931,7 @@ void SwingSchedulerDAG::schedule() { } }); - std::sort(NodeSets.begin(), NodeSets.end(), std::greater()); + llvm::sort(NodeSets.begin(), NodeSets.end(), std::greater()); groupRemainingNodes(NodeSets); @@ -1863,7 +1863,8 @@ void SwingSchedulerDAG::registerPressureFilter(NodeSetType &NodeSets) { RecRPTracker.closeBottom(); std::vector SUnits(NS.begin(), NS.end()); - std::sort(SUnits.begin(), SUnits.end(), [](const SUnit *A, const SUnit *B) { + llvm::sort(SUnits.begin(), SUnits.end(), + [](const SUnit *A, const SUnit *B) { return A->NodeNum > B->NodeNum; }); @@ -3980,7 +3981,7 @@ void SwingSchedulerDAG::checkValidNodeOrder(const NodeSetType &Circuits) const { }; // sort, so that we can perform a binary search - std::sort(Indices.begin(), Indices.end(), CompareKey); + llvm::sort(Indices.begin(), Indices.end(), CompareKey); bool Valid = true; (void)Valid; -- cgit v1.1