diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-10-14 15:16:10 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-10-14 15:16:10 +0000 |
commit | 9f8e2d77c1089c110aead93c0a92cc836f752a95 (patch) | |
tree | 2f84ca32f8f43eb73563fa98badd25f146f3e8dd /clang/lib | |
parent | 193573ec89ce4f16749b323e72e0a49e1e9364e5 (diff) | |
download | bcm5719-llvm-9f8e2d77c1089c110aead93c0a92cc836f752a95.tar.gz bcm5719-llvm-9f8e2d77c1089c110aead93c0a92cc836f752a95.zip |
Reduce double set lookups by using the result of insert.
No functionality change.
llvm-svn: 192598
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/VTableBuilder.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 15 |
2 files changed, 8 insertions, 10 deletions
diff --git a/clang/lib/AST/VTableBuilder.cpp b/clang/lib/AST/VTableBuilder.cpp index 027735dff05..045b7f1a42d 100644 --- a/clang/lib/AST/VTableBuilder.cpp +++ b/clang/lib/AST/VTableBuilder.cpp @@ -3151,9 +3151,8 @@ static void EnumerateVFPtrs( CharUnits NextBaseOffset; const CXXRecordDecl *NextLastVBase; if (I->isVirtual()) { - if (VisitedVBases.count(BaseDecl)) + if (!VisitedVBases.insert(BaseDecl)) continue; - VisitedVBases.insert(BaseDecl); NextBaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); NextLastVBase = BaseDecl; } else { diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index 14f8658face..d2566589a5f 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -1733,9 +1733,8 @@ void Sema::MatchAllMethodDeclarations(const SelectorSet &InsMap, // implemented in the implementation class. If so, their types match. for (ObjCInterfaceDecl::instmeth_iterator I = CDecl->instmeth_begin(), E = CDecl->instmeth_end(); I != E; ++I) { - if (InsMapSeen.count((*I)->getSelector())) - continue; - InsMapSeen.insert((*I)->getSelector()); + if (!InsMapSeen.insert((*I)->getSelector())) + continue; if (!(*I)->isPropertyAccessor() && !InsMap.count((*I)->getSelector())) { if (ImmediateClass) @@ -1762,11 +1761,11 @@ void Sema::MatchAllMethodDeclarations(const SelectorSet &InsMap, // Check and see if class methods in class interface have been // implemented in the implementation class. If so, their types match. - for (ObjCInterfaceDecl::classmeth_iterator - I = CDecl->classmeth_begin(), E = CDecl->classmeth_end(); I != E; ++I) { - if (ClsMapSeen.count((*I)->getSelector())) - continue; - ClsMapSeen.insert((*I)->getSelector()); + for (ObjCInterfaceDecl::classmeth_iterator I = CDecl->classmeth_begin(), + E = CDecl->classmeth_end(); + I != E; ++I) { + if (!ClsMapSeen.insert((*I)->getSelector())) + continue; if (!ClsMap.count((*I)->getSelector())) { if (ImmediateClass) WarnUndefinedMethod(IMPDecl->getLocation(), *I, IncompleteImpl, |