[clang-tools-extra] [clang-doc] Improve performance by adding a short circuit (PR #96809)

Paul Kirth via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 26 18:02:27 PDT 2024


================
@@ -34,13 +43,26 @@ template <typename T> bool MapASTVisitor::mapDecl(const T *D) {
   // If there is an error generating a USR for the decl, skip this decl.
   if (index::generateUSRForDecl(D, USR))
     return true;
+
+  // Prevent Visiting USR twice
+  {
+    std::lock_guard<llvm::sys::Mutex> Guard(USRVisitedGuard);
+    std::string Visited = USR.str().str();
+    if (USRVisited.count(Visited))
+      return true;
----------------
ilovepi wrote:

I know you didn't write this API, but is it correct to always return true?

https://github.com/llvm/llvm-project/pull/96809


More information about the cfe-commits mailing list