[clang] 87ba95a - [NFC] Don't recompute Linkage for Decl in Release Modes
Chuanqi Xu via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 9 23:24:02 PST 2023
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
More information about the cfe-commits
mailing list