From 0c08443db4a4f39b4c702499fab5de08e617dab3 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Sat, 10 May 2025 09:21:24 -0700 Subject: [PATCH] [TableGen] Use std::tie to Implment operator< (NFC) --- clang/utils/TableGen/MveEmitter.cpp | 8 ++------ clang/utils/TableGen/NeonEmitter.cpp | 7 ++----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/clang/utils/TableGen/MveEmitter.cpp b/clang/utils/TableGen/MveEmitter.cpp index 95fd658b3bde2..a003b5e632d58 100644 --- a/clang/utils/TableGen/MveEmitter.cpp +++ b/clang/utils/TableGen/MveEmitter.cpp @@ -1550,18 +1550,14 @@ struct OutputIntrinsic { std::string Name; ComparableStringVector ParamValues; bool operator<(const OutputIntrinsic &rhs) const { - if (Name != rhs.Name) - return Name < rhs.Name; - return ParamValues < rhs.ParamValues; + return std::tie(Name, ParamValues) < std::tie(rhs.Name, rhs.ParamValues); } }; struct MergeableGroup { std::string Code; ComparableStringVector ParamTypes; bool operator<(const MergeableGroup &rhs) const { - if (Code != rhs.Code) - return Code < rhs.Code; - return ParamTypes < rhs.ParamTypes; + return std::tie(Code, ParamTypes) < std::tie(rhs.Code, rhs.ParamTypes); } }; diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp index 6b0fa1648e583..b7b2580d72a0e 100644 --- a/clang/utils/TableGen/NeonEmitter.cpp +++ b/clang/utils/TableGen/NeonEmitter.cpp @@ -492,11 +492,8 @@ class Intrinsic { bool operator<(const Intrinsic &Other) const { // Sort lexicographically on a three-tuple (ArchGuard, TargetGuard, Name) - if (ArchGuard != Other.ArchGuard) - return ArchGuard < Other.ArchGuard; - if (TargetGuard != Other.TargetGuard) - return TargetGuard < Other.TargetGuard; - return Name < Other.Name; + return std::tie(ArchGuard, TargetGuard, Name) < + std::tie(Other.ArchGuard, Other.TargetGuard, Other.Name); } ClassKind getClassKind(bool UseClassBIfScalar = false) {