diff --git a/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp b/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp index 153b14ce6050..815715604bc9 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp @@ -588,12 +588,8 @@ void PipelineSolver::populateReadyList( ReadyList.push_back(std::pair(*I, -1)); } - if (UseCostHeur) { - std::sort(ReadyList.begin(), ReadyList.end(), - [](std::pair A, std::pair B) { - return A.second < B.second; - }); - } + if (UseCostHeur) + llvm::sort(ReadyList, llvm::less_second()); assert(ReadyList.size() == CurrSU.second.size()); } diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 13c1eb572ef9..4301bc7d0d68 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -6466,10 +6466,7 @@ static bool clusterSortPtrAccesses(ArrayRef VL, for (auto &Base : Bases) { for (auto &Vec : Base.second) { if (Vec.size() > 1) { - stable_sort(Vec, [](const std::tuple &X, - const std::tuple &Y) { - return std::get<1>(X) < std::get<1>(Y); - }); + stable_sort(Vec, llvm::less_second()); int InitialOffset = std::get<1>(Vec[0]); bool AnyConsecutive = all_of(enumerate(Vec), [InitialOffset](const auto &P) { @@ -7986,9 +7983,7 @@ bool BoUpSLP::canFormVector(ArrayRef StoresVec, // Check if the stores are consecutive by checking if their difference is 1. if (StoreOffsetVec.size() != StoresVec.size()) return false; - sort(StoreOffsetVec, - [](const std::pair &L, - const std::pair &R) { return L.first < R.first; }); + sort(StoreOffsetVec, llvm::less_first()); unsigned Idx = 0; int PrevDist = 0; for (const auto &P : StoreOffsetVec) { diff --git a/llvm/tools/llvm-gpu-loader/nvptx.cpp b/llvm/tools/llvm-gpu-loader/nvptx.cpp index 13c62d50e607..781a045e71a9 100644 --- a/llvm/tools/llvm-gpu-loader/nvptx.cpp +++ b/llvm/tools/llvm-gpu-loader/nvptx.cpp @@ -84,8 +84,8 @@ Expected get_ctor_dtor_array(const void *image, const size_t size, } // Lower priority constructors are run before higher ones. The reverse is true // for destructors. - llvm::sort(ctors, [](auto x, auto y) { return x.second < y.second; }); - llvm::sort(dtors, [](auto x, auto y) { return x.second < y.second; }); + llvm::sort(ctors, llvm::less_second()); + llvm::sort(dtors, llvm::less_second()); // Allocate host pinned memory to make these arrays visible to the GPU. CUdeviceptr *dev_memory = reinterpret_cast(allocator(