From: Benjamin Kramer Date: Mon, 14 Oct 2013 15:16:10 +0000 (+0000) Subject: Reduce double set lookups by using the result of insert. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7dcff5b56bc470c456f70ecb124c3a9013c50953;p=clang Reduce double set lookups by using the result of insert. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192598 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp index 027735dff0..045b7f1a42 100644 --- a/lib/AST/VTableBuilder.cpp +++ b/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/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp index 14f8658fac..d2566589a5 100644 --- a/lib/Sema/SemaDeclObjC.cpp +++ b/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,