-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[llvm] Use llvm::less_first and llvm::less_second (NFC) #136272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[llvm] Use llvm::less_first and llvm::less_second (NFC) #136272
Conversation
@llvm/pr-subscribers-vectorizers @llvm/pr-subscribers-backend-nvptx Author: Kazu Hirata (kazutakahirata) ChangesFull diff: https://github.com/llvm/llvm-project/pull/136272.diff 3 Files Affected:
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp b/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
index 153b14ce60507..815715604bc96 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<int, int> A, std::pair<int, int> 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 13c1eb572ef92..4301bc7d0d68b 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -6466,10 +6466,7 @@ static bool clusterSortPtrAccesses(ArrayRef<Value *> VL,
for (auto &Base : Bases) {
for (auto &Vec : Base.second) {
if (Vec.size() > 1) {
- stable_sort(Vec, [](const std::tuple<Value *, int, unsigned> &X,
- const std::tuple<Value *, int, unsigned> &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<StoreInst *> 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<int, unsigned> &L,
- const std::pair<int, unsigned> &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 13c62d50e6077..781a045e71a94 100644
--- a/llvm/tools/llvm-gpu-loader/nvptx.cpp
+++ b/llvm/tools/llvm-gpu-loader/nvptx.cpp
@@ -84,8 +84,8 @@ Expected<void *> 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<CUdeviceptr *>(allocator(
|
@llvm/pr-subscribers-backend-amdgpu Author: Kazu Hirata (kazutakahirata) ChangesFull diff: https://github.com/llvm/llvm-project/pull/136272.diff 3 Files Affected:
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp b/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
index 153b14ce60507..815715604bc96 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<int, int> A, std::pair<int, int> 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 13c1eb572ef92..4301bc7d0d68b 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -6466,10 +6466,7 @@ static bool clusterSortPtrAccesses(ArrayRef<Value *> VL,
for (auto &Base : Bases) {
for (auto &Vec : Base.second) {
if (Vec.size() > 1) {
- stable_sort(Vec, [](const std::tuple<Value *, int, unsigned> &X,
- const std::tuple<Value *, int, unsigned> &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<StoreInst *> 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<int, unsigned> &L,
- const std::pair<int, unsigned> &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 13c62d50e6077..781a045e71a94 100644
--- a/llvm/tools/llvm-gpu-loader/nvptx.cpp
+++ b/llvm/tools/llvm-gpu-loader/nvptx.cpp
@@ -84,8 +84,8 @@ Expected<void *> 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<CUdeviceptr *>(allocator(
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/17613 Here is the relevant piece of the build log for the reference
|
llvm-clang-x86_64-expensive-checks-ubuntu builder also has broken with the following failed tests:
see more details here: https://lab.llvm.org/buildbot/#/builders/16/builds/17613/steps/6/logs/stdio |
Thank you for letting me know! Reverting to |
I just posted #136615. |
No description provided.