Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

kazutakahirata
Copy link
Contributor

No description provided.

@kazutakahirata kazutakahirata requested a review from davemgreen May 10, 2025 19:59
@llvmbot llvmbot added the clang Clang issues not falling into any other category label May 10, 2025
@kazutakahirata kazutakahirata requested a review from jurahul May 10, 2025 19:59
@llvmbot
Copy link
Member

llvmbot commented May 10, 2025

@llvm/pr-subscribers-clang

Author: Kazu Hirata (kazutakahirata)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/139405.diff

2 Files Affected:

  • (modified) clang/utils/TableGen/MveEmitter.cpp (+2-6)
  • (modified) clang/utils/TableGen/NeonEmitter.cpp (+2-5)
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) {

@kazutakahirata kazutakahirata changed the title [TableGen] Use std::tie to Implment operator< (NFC) [TableGen] Use std::tie to implement operator< (NFC) May 10, 2025
@kazutakahirata kazutakahirata merged commit 8e2a9fa into llvm:main May 10, 2025
13 checks passed
@kazutakahirata kazutakahirata deleted the cleanup_001_operator_less_clang_tblgen branch May 10, 2025 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.