[Mlir-commits] [clang] [llvm] [mlir] [ADT] Give DenseMapPair its own members instead of a std::pair base. NFC (PR #221853)
Kazu Hirata
llvmlistbot at llvm.org
Mon Sep 7 18:52:47 PDT 2026
================
@@ -606,7 +606,10 @@ GVNSink::analyzeInstructionForSinking(LockstepReverseIterator<false> &LRI,
return std::nullopt;
VNums[N]++;
}
- unsigned VNumToSink = llvm::max_element(VNums, llvm::less_second())->first;
+ unsigned VNumToSink =
+ llvm::max_element(VNums, [](const auto &L, const auto &R) {
+ return L.second < R.second;
+ })->first;
----------------
kazutakahirata wrote:
Could we add something like this to keep `llvm::less_second` working?
```cpp
namespace std {
template <std::size_t I, typename KeyT, typename ValueT>
auto &get(llvm::detail::DenseMapPair<KeyT, ValueT> &P) {
if constexpr (I == 0) return P.first;
else return P.second;
}
template <std::size_t I, typename KeyT, typename ValueT>
const auto &get(const llvm::detail::DenseMapPair<KeyT, ValueT> &P) {
if constexpr (I == 0) return P.first;
else return P.second;
}
} // namespace std
```
This should take care of `std::get<0>` in `SCFToGPU.cpp` as well.
https://github.com/llvm/llvm-project/pull/221853
More information about the Mlir-commits
mailing list