diff --git a/bolt/include/bolt/Core/BinaryBasicBlock.h b/bolt/include/bolt/Core/BinaryBasicBlock.h index 25cccc4edecf..629f0ce8314d 100644 --- a/bolt/include/bolt/Core/BinaryBasicBlock.h +++ b/bolt/include/bolt/Core/BinaryBasicBlock.h @@ -52,9 +52,8 @@ public: uint64_t MispredictedCount; /// number of branches mispredicted bool operator<(const BinaryBranchInfo &Other) const { - return (Count < Other.Count) || - (Count == Other.Count && - MispredictedCount < Other.MispredictedCount); + return std::tie(Count, MispredictedCount) < + std::tie(Other.Count, Other.MispredictedCount); } }; diff --git a/bolt/include/bolt/Passes/PAuthGadgetScanner.h b/bolt/include/bolt/Passes/PAuthGadgetScanner.h index 98a49df862eb..c6b9cc2eb4b9 100644 --- a/bolt/include/bolt/Passes/PAuthGadgetScanner.h +++ b/bolt/include/bolt/Passes/PAuthGadgetScanner.h @@ -77,9 +77,7 @@ struct MCInstInBFReference { return BF == RHS.BF && Offset == RHS.Offset; } bool operator<(const MCInstInBFReference &RHS) const { - if (BF != RHS.BF) - return BF < RHS.BF; - return Offset < RHS.Offset; + return std::tie(BF, Offset) < std::tie(RHS.BF, RHS.Offset); } operator MCInst &() const { assert(BF != nullptr); diff --git a/bolt/lib/Profile/YAMLProfileWriter.cpp b/bolt/lib/Profile/YAMLProfileWriter.cpp index f1fe45f21a0f..0ae67a4d3559 100644 --- a/bolt/lib/Profile/YAMLProfileWriter.cpp +++ b/bolt/lib/Profile/YAMLProfileWriter.cpp @@ -303,9 +303,8 @@ YAMLProfileWriter::convert(const BinaryFunction &BF, bool UseDFS, } // Sort targets in a similar way to getBranchData, see Location::operator< llvm::sort(CSTargets, [](const auto &RHS, const auto &LHS) { - if (RHS.first != LHS.first) - return RHS.first < LHS.first; - return RHS.second.Offset < LHS.second.Offset; + return std::tie(RHS.first, RHS.second.Offset) < + std::tie(LHS.first, LHS.second.Offset); }); for (auto &KV : CSTargets) YamlBB.CallSites.push_back(KV.second);