[llvm] b9e546d - [Support] Simplify Object::operator== (NFC) (#157311)

via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 7 10:46:05 PDT 2025


Author: Kazu Hirata
Date: 2025-09-07T10:46:02-07:00
New Revision: b9e546d24b8fa734d4ca5184a0cbb41726f42ee8

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

LOG: [Support] Simplify Object::operator== (NFC) (#157311)

This patch simplifies Object::operator== with DenseMap::operator==.

Added: 
    

Modified: 
    llvm/include/llvm/Support/JSON.h
    llvm/lib/Support/JSON.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Support/JSON.h b/llvm/include/llvm/Support/JSON.h
index 74858ec559932..d8c6de49b4bc6 100644
--- a/llvm/include/llvm/Support/JSON.h
+++ b/llvm/include/llvm/Support/JSON.h
@@ -153,6 +153,8 @@ class Object {
   LLVM_ABI json::Object *getObject(StringRef K);
   LLVM_ABI const json::Array *getArray(StringRef K) const;
   LLVM_ABI json::Array *getArray(StringRef K);
+
+  friend bool operator==(const Object &LHS, const Object &RHS);
 };
 LLVM_ABI bool operator==(const Object &LHS, const Object &RHS);
 inline bool operator!=(const Object &LHS, const Object &RHS) {

diff  --git a/llvm/lib/Support/JSON.cpp b/llvm/lib/Support/JSON.cpp
index d8662340cb3ed..4652c0740dc4d 100644
--- a/llvm/lib/Support/JSON.cpp
+++ b/llvm/lib/Support/JSON.cpp
@@ -84,16 +84,7 @@ json::Array *Object::getArray(StringRef K) {
     return V->getAsArray();
   return nullptr;
 }
-bool operator==(const Object &LHS, const Object &RHS) {
-  if (LHS.size() != RHS.size())
-    return false;
-  for (const auto &L : LHS) {
-    auto R = RHS.find(L.first);
-    if (R == RHS.end() || L.second != R->second)
-      return false;
-  }
-  return true;
-}
+bool operator==(const Object &LHS, const Object &RHS) { return LHS.M == RHS.M; }
 
 Array::Array(std::initializer_list<Value> Elements) {
   V.reserve(Elements.size());


        


More information about the llvm-commits mailing list