Rafael, excuse me, I have reverted it in r168549. ...Takumi
2012/11/24 NAKAMURA Takumi <[email protected]>: > Rafael, it brought bunch of (possibly false) warnings in llvm tree. > > http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/1 > (excuse me, since bb.pgr.jp has been reconfigured, blamelist lost) > > ...Takumi > > 2012/11/24 Rafael Espindola <[email protected]>: >> Author: rafael >> Date: Fri Nov 23 10:26:30 2012 >> New Revision: 168519 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=168519&view=rev >> Log: >> Merge used flags so that we don't have to iterate on isUsed. With this change >> "clang -cc1 -fsyntax-only" on the preprocessed output of >> >> #define M extern int a; >> #define M2 M M >> #define M4 M2 M2 >> #define M8 M4 M4 >> #define M16 M8 M8 >> #define M32 M16 M16 >> #define M64 M32 M32 >> #define M128 M64 M64 >> #define M256 M128 M128 >> #define M512 M256 M256 >> #define M1024 M512 M512 >> #define M2048 M1024 M1024 >> #define M4096 M2048 M2048 >> #define M8192 M4096 M4096 >> #define M16384 M8192 M8192 >> M16384 >> >> goes from 2.994s to 1.416s. GCC is at 0.022s, so we still have a long way to >> go. >> >> Modified: >> cfe/trunk/lib/AST/DeclBase.cpp >> cfe/trunk/lib/Sema/SemaDecl.cpp >> >> Modified: cfe/trunk/lib/AST/DeclBase.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclBase.cpp?rev=168519&r1=168518&r2=168519&view=diff >> ============================================================================== >> --- cfe/trunk/lib/AST/DeclBase.cpp (original) >> +++ cfe/trunk/lib/AST/DeclBase.cpp Fri Nov 23 10:26:30 2012 >> @@ -260,14 +260,7 @@ >> // Check for used attribute. >> if (CheckUsedAttr && hasAttr<UsedAttr>()) >> return true; >> - >> - // Check redeclarations. We merge attributes, so we don't need to check >> - // attributes in all redeclarations. >> - for (redecl_iterator I = redecls_begin(), E = redecls_end(); I != E; ++I) >> { >> - if (I->Used) >> - return true; >> - } >> - >> + >> return false; >> } >> >> >> Modified: cfe/trunk/lib/Sema/SemaDecl.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=168519&r1=168518&r2=168519&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Sema/SemaDecl.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaDecl.cpp Fri Nov 23 10:26:30 2012 >> @@ -2388,6 +2388,10 @@ >> if (Old->isPure()) >> New->setPure(); >> >> + // Merge "used" flag. >> + if (Old->isUsed(false)) >> + New->setUsed(); >> + >> // Merge attributes from the parameters. These can mismatch with K&R >> // declarations. >> if (New->getNumParams() == Old->getNumParams()) >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
