diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-09 16:12:57 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-05-09 16:12:57 +0000 |
commit | 08f96a9b5e7ccf3f26d35870c7fc058115d9acf2 (patch) | |
tree | 7fce034ee85284dec7b14273a222bcf1ede28939 /clang/lib/Serialization/ASTWriterDecl.cpp | |
parent | ddcce0bb90f609606812c53ad0bc820913872e9d (diff) | |
download | bcm5719-llvm-08f96a9b5e7ccf3f26d35870c7fc058115d9acf2.tar.gz bcm5719-llvm-08f96a9b5e7ccf3f26d35870c7fc058115d9acf2.zip |
[AST/libclang] Speed up clang_getOverriddenCursors() considerably by reserving a bit
in ObjCMethodDecl to indicate whether the method does not override any other method,
which is the majority of cases.
That way we can avoid unnecessary work doing lookups, especially when PCH is involved.
rdar://11360082
llvm-svn: 156476
Diffstat (limited to 'clang/lib/Serialization/ASTWriterDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index ee30dd8ea9a..86b667ad719 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -417,6 +417,7 @@ void ASTDeclWriter::VisitObjCMethodDecl(ObjCMethodDecl *D) { Record.push_back(D->isVariadic()); Record.push_back(D->isSynthesized()); Record.push_back(D->isDefined()); + Record.push_back(D->IsOverriding); Record.push_back(D->IsRedeclaration); Record.push_back(D->HasRedeclaration); |