Author: Chuanqi Xu
Date: 2023-03-10T15:23:38+08:00
New Revision: 87ba95aa212a4fd363a4dd52677e9eea5224a4e7

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

LOG: [NFC] Don't recompute Linkage for Decl in Release Modes

In the assertion enabled mode we will test if the computed linkage of
Declaration is consistent with the cached linkage. But we shouldn't
compuate it if we have cached linkage in the release modes.

Added: 
    

Modified: 
    clang/lib/AST/Decl.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 240e744ee644..06af1969a8f0 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1525,11 +1525,16 @@ LinkageInfo LinkageComputer::getLVForDecl(const 
NamedDecl *D,
   if (std::optional<LinkageInfo> LI = lookup(D, computation))
     return *LI;
 
+#ifndef NDEBUG
   LinkageInfo LV = computeLVForDecl(D, computation);
   if (D->hasCachedLinkage())
     assert(D->getCachedLinkage() == LV.getLinkage());
 
   D->setCachedLinkage(LV.getLinkage());
+#else
+  LinkageInfo LV = D->hasCachedLinkage() ? D->getCachedLinkage() :
+                   computeLVForDecl(D, computation);
+#endif
   cache(D, computation, LV);
 
 #ifndef NDEBUG


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to