[llvm] r330057 - [ProfileData] Change std::sort to llvm::sort in response to r327219

Mandeep Singh Grang via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 13 12:46:36 PDT 2018


Author: mgrang
Date: Fri Apr 13 12:46:36 2018
New Revision: 330057

URL: http://llvm.org/viewvc/llvm-project?rev=330057&view=rev
Log:
[ProfileData] 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, vsk, eraman, ruiu

Reviewed By: ruiu

Subscribers: ruiu, llvm-commits

Differential Revision: https://reviews.llvm.org/D45139

Modified:
    llvm/trunk/lib/ProfileData/Coverage/CoverageMapping.cpp
    llvm/trunk/lib/ProfileData/GCOV.cpp
    llvm/trunk/lib/ProfileData/ProfileSummaryBuilder.cpp

Modified: llvm/trunk/lib/ProfileData/Coverage/CoverageMapping.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ProfileData/Coverage/CoverageMapping.cpp?rev=330057&r1=330056&r2=330057&view=diff
==============================================================================
--- llvm/trunk/lib/ProfileData/Coverage/CoverageMapping.cpp (original)
+++ llvm/trunk/lib/ProfileData/Coverage/CoverageMapping.cpp Fri Apr 13 12:46:36 2018
@@ -83,7 +83,7 @@ Counter CounterExpressionBuilder::simpli
     return Counter::getZero();
 
   // Group the terms by counter ID.
-  std::sort(Terms.begin(), Terms.end(), [](const Term &LHS, const Term &RHS) {
+  llvm::sort(Terms.begin(), Terms.end(), [](const Term &LHS, const Term &RHS) {
     return LHS.CounterID < RHS.CounterID;
   });
 
@@ -457,8 +457,8 @@ class SegmentBuilder {
 
   /// Sort a nested sequence of regions from a single file.
   static void sortNestedRegions(MutableArrayRef<CountedRegion> Regions) {
-    std::sort(Regions.begin(), Regions.end(), [](const CountedRegion &LHS,
-                                                 const CountedRegion &RHS) {
+    llvm::sort(Regions.begin(), Regions.end(), [](const CountedRegion &LHS,
+                                                  const CountedRegion &RHS) {
       if (LHS.startLoc() != RHS.startLoc())
         return LHS.startLoc() < RHS.startLoc();
       if (LHS.endLoc() != RHS.endLoc())
@@ -555,7 +555,7 @@ std::vector<StringRef> CoverageMapping::
   for (const auto &Function : getCoveredFunctions())
     Filenames.insert(Filenames.end(), Function.Filenames.begin(),
                      Function.Filenames.end());
-  std::sort(Filenames.begin(), Filenames.end());
+  llvm::sort(Filenames.begin(), Filenames.end());
   auto Last = std::unique(Filenames.begin(), Filenames.end());
   Filenames.erase(Last, Filenames.end());
   return Filenames;

Modified: llvm/trunk/lib/ProfileData/GCOV.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ProfileData/GCOV.cpp?rev=330057&r1=330056&r2=330057&view=diff
==============================================================================
--- llvm/trunk/lib/ProfileData/GCOV.cpp (original)
+++ llvm/trunk/lib/ProfileData/GCOV.cpp Fri Apr 13 12:46:36 2018
@@ -592,7 +592,7 @@ void FileInfo::print(raw_ostream &InfoOS
   SmallVector<StringRef, 4> Filenames;
   for (const auto &LI : LineInfo)
     Filenames.push_back(LI.first());
-  std::sort(Filenames.begin(), Filenames.end());
+  llvm::sort(Filenames.begin(), Filenames.end());
 
   for (StringRef Filename : Filenames) {
     auto AllLines = LineConsumer(Filename);

Modified: llvm/trunk/lib/ProfileData/ProfileSummaryBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ProfileData/ProfileSummaryBuilder.cpp?rev=330057&r1=330056&r2=330057&view=diff
==============================================================================
--- llvm/trunk/lib/ProfileData/ProfileSummaryBuilder.cpp (original)
+++ llvm/trunk/lib/ProfileData/ProfileSummaryBuilder.cpp Fri Apr 13 12:46:36 2018
@@ -58,7 +58,7 @@ void SampleProfileSummaryBuilder::addRec
 void ProfileSummaryBuilder::computeDetailedSummary() {
   if (DetailedSummaryCutoffs.empty())
     return;
-  std::sort(DetailedSummaryCutoffs.begin(), DetailedSummaryCutoffs.end());
+  llvm::sort(DetailedSummaryCutoffs.begin(), DetailedSummaryCutoffs.end());
   auto Iter = CountFrequencies.begin();
   const auto End = CountFrequencies.end();
 




More information about the llvm-commits mailing list