aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-12-21 15:12:03 +0000
committerDouglas Gregor <dgregor@apple.com>2011-12-21 15:12:03 +0000
commit87dd4f7f43593d86add23faab58e7393aaa2219f (patch)
tree9ea291af8a4c3f0eb305435a1bdc413111467c68
parent4a4f25a5a80dd594acf68c882bcdbf1a38468a45 (diff)
Implement a trivial, obvious optimization for deserialization of
redeclaration chains: only ever have the reader search for redeclarations of the first (canonical) declaration, since we only ever record redeclaration ranges for the that declaration. Searching for redeclarations of non-canonical declarations will never find anything, so it's a complete waste of time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147055 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Serialization/ASTReaderDecl.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp
index 77ea318dc0..163cbadcd3 100644
--- a/lib/Serialization/ASTReaderDecl.cpp
+++ b/lib/Serialization/ASTReaderDecl.cpp
@@ -1416,8 +1416,8 @@ void ASTDeclReader::VisitRedeclarable(Redeclarable<T> *D) {
}
// Note that we need to load the other declaration chains for this ID.
- if (Reader.PendingDeclChainsKnown.insert(ThisDeclID))
- Reader.PendingDeclChains.push_back(ThisDeclID);
+ if (Reader.PendingDeclChainsKnown.insert(FirstDeclID))
+ Reader.PendingDeclChains.push_back(FirstDeclID);
}
//===----------------------------------------------------------------------===//