[llvm] [Bitcode] Avoid repeated hash lookups (NFC) (PR #128824)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 26 01:02:42 PST 2025


https://github.com/kazutakahirata updated https://github.com/llvm/llvm-project/pull/128824

>From a1301cbcbcf72be591efd47ff42a0146081d31e3 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Tue, 25 Feb 2025 09:07:20 -0800
Subject: [PATCH 1/2] [Bitcode] Avoid repeated hash lookups (NFC)

---
 llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index 3609ffe5d80f3..c20cc78f040ab 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -539,9 +539,10 @@ class MetadataLoader::MetadataLoaderImpl {
       if (!Visited.insert(S).second)
         break;
     }
-    ParentSubprogram[InitialScope] = llvm::dyn_cast_or_null<DISubprogram>(S);
 
-    return ParentSubprogram[InitialScope];
+    auto &PS = ParentSubprogram[InitialScope];
+    PS = llvm::dyn_cast_or_null<DISubprogram>(S);
+    return PS;
   }
 
   /// Move local imports from DICompileUnit's 'imports' field to

>From 73e02054855fcf6aaf1b09a3c9a04bfbe7249618 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Wed, 26 Feb 2025 00:59:56 -0800
Subject: [PATCH 2/2] Address a comment.

---
 llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
index c20cc78f040ab..1baf0a9214e00 100644
--- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp
@@ -540,9 +540,8 @@ class MetadataLoader::MetadataLoaderImpl {
         break;
     }
 
-    auto &PS = ParentSubprogram[InitialScope];
-    PS = llvm::dyn_cast_or_null<DISubprogram>(S);
-    return PS;
+    return ParentSubprogram[InitialScope] =
+               llvm::dyn_cast_or_null<DISubprogram>(S);
   }
 
   /// Move local imports from DICompileUnit's 'imports' field to



More information about the llvm-commits mailing list