[clang] 8e2a9fa - [TableGen] Use std::tie to implement operator< (NFC) (#139405)

via cfe-commits cfe-commits at lists.llvm.org
Sat May 10 16:04:29 PDT 2025


Author: Kazu Hirata
Date: 2025-05-10T16:04:26-07:00
New Revision: 8e2a9fa9a56cd6f5406f2d5cd9e3a2182d9eae86

URL: https://github.com/llvm/llvm-project/commit/8e2a9fa9a56cd6f5406f2d5cd9e3a2182d9eae86
DIFF: https://github.com/llvm/llvm-project/commit/8e2a9fa9a56cd6f5406f2d5cd9e3a2182d9eae86.diff

LOG: [TableGen] Use std::tie to implement operator< (NFC) (#139405)

Added: 
    

Modified: 
    clang/utils/TableGen/MveEmitter.cpp
    clang/utils/TableGen/NeonEmitter.cpp

Removed: 
    


################################################################################
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) {


        


More information about the cfe-commits mailing list