r233046 - [modules] More removal of unnecessary deserialization of lexical decls.

Richard Smith richard-llvm at metafoo.co.uk
Mon Mar 23 19:49:56 PDT 2015


Author: rsmith
Date: Mon Mar 23 21:49:55 2015
New Revision: 233046

URL: http://llvm.org/viewvc/llvm-project?rev=233046&view=rev
Log:
[modules] More removal of unnecessary deserialization of lexical decls.

Even if we have no external visible declarations, we may still have external
lexical decls that lookup() would import to fill its lookup table. It's simpler
and faster to always take the no-deserialization path through noload_lookup.

Modified:
    cfe/trunk/lib/AST/DeclBase.cpp

Modified: cfe/trunk/lib/AST/DeclBase.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclBase.cpp?rev=233046&r1=233045&r2=233046&view=diff
==============================================================================
--- cfe/trunk/lib/AST/DeclBase.cpp (original)
+++ cfe/trunk/lib/AST/DeclBase.cpp Mon Mar 23 21:49:55 2015
@@ -1389,8 +1389,6 @@ DeclContext::lookup_result
 DeclContext::noload_lookup(DeclarationName Name) {
   assert(DeclKind != Decl::LinkageSpec &&
          "Should not perform lookups into linkage specs!");
-  if (!hasExternalVisibleStorage())
-    return lookup(Name);
 
   DeclContext *PrimaryContext = getPrimaryContext();
   if (PrimaryContext != this)





More information about the cfe-commits mailing list