[llvm] fbdbb13 - [NFC][Utils] Eliminate DISubprogram set from BuildDebugInfoMDMap (#118625)

via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 17 00:58:03 PST 2024


Author: Artem Pianykh
Date: 2024-12-17T08:57:59Z
New Revision: fbdbb13d5ba9e7a2bd6c544d290f913490da858f

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

LOG: [NFC][Utils] Eliminate DISubprogram set from BuildDebugInfoMDMap (#118625)


Summary:
Previously, we'd add all SPs distinct from the cloned one into a set.
Then when cloning a local scope we'd check if it's from one of those
'distinct' SPs by checking if it's in the set. We don't need to do that.
We can just check against the cloned SP directly and drop the set.

Test Plan:
ninja check-llvm-unit check-llvm

Added: 
    

Modified: 
    llvm/lib/Transforms/Utils/CloneFunction.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Utils/CloneFunction.cpp b/llvm/lib/Transforms/Utils/CloneFunction.cpp
index d47633a05fce96..8863dff4482a1a 100644
--- a/llvm/lib/Transforms/Utils/CloneFunction.cpp
+++ b/llvm/lib/Transforms/Utils/CloneFunction.cpp
@@ -172,18 +172,15 @@ bool llvm::BuildDebugInfoMDMap(DenseMap<const Metadata *, TrackingMDRef> &MD,
     };
 
     // Avoid cloning types, compile units, and (other) subprograms.
-    SmallPtrSet<const DISubprogram *, 16> MappedToSelfSPs;
     for (DISubprogram *ISP : DIFinder.subprograms()) {
-      if (ISP != SPClonedWithinModule) {
+      if (ISP != SPClonedWithinModule)
         mapToSelfIfNew(ISP);
-        MappedToSelfSPs.insert(ISP);
-      }
     }
 
     // If a subprogram isn't going to be cloned skip its lexical blocks as well.
     for (DIScope *S : DIFinder.scopes()) {
       auto *LScope = dyn_cast<DILocalScope>(S);
-      if (LScope && MappedToSelfSPs.count(LScope->getSubprogram()))
+      if (LScope && LScope->getSubprogram() != SPClonedWithinModule)
         mapToSelfIfNew(S);
     }
 


        


More information about the llvm-commits mailing list