================
@@ -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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits