summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/AttributeList.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-05-02 17:33:51 +0000
committerDouglas Gregor <dgregor@apple.com>2012-05-02 17:33:51 +0000
commit377f99bc680ad47c6b3a5aa8cbb065b8c115148d (patch)
treee75e6190672b74f6ca4b9f2734ece16378ce3c2a /clang/lib/Sema/AttributeList.cpp
parent12c1cd33f426980e54ce6c59dc834acb6acd1779 (diff)
downloadbcm5719-llvm-377f99bc680ad47c6b3a5aa8cbb065b8c115148d.tar.gz
bcm5719-llvm-377f99bc680ad47c6b3a5aa8cbb065b8c115148d.zip
Replace the StringSwitch in AttributeList::getKind() with a
TableGen-generated StringMatcher, for a 1.2% speedup in -fparse-only time in <rdar://problem/11004361>. Thanks to Benjamin for pointing me at StringMatcher! llvm-svn: 156003
Diffstat (limited to 'clang/lib/Sema/AttributeList.cpp')
-rw-r--r--clang/lib/Sema/AttributeList.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Sema/AttributeList.cpp b/clang/lib/Sema/AttributeList.cpp
index cbd2ba41941..101e0384fa7 100644
--- a/clang/lib/Sema/AttributeList.cpp
+++ b/clang/lib/Sema/AttributeList.cpp
@@ -97,6 +97,8 @@ AttributePool::createIntegerAttribute(ASTContext &C, IdentifierInfo *Name,
return create(Name, TokLoc, 0, TokLoc, 0, TokLoc, &IArg, 1, 0);
}
+#include "clang/Sema/AttrParsedAttrKinds.inc"
+
AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
StringRef AttrName = Name->getName();
@@ -105,7 +107,5 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
AttrName.size() >= 4)
AttrName = AttrName.substr(2, AttrName.size() - 4);
- return llvm::StringSwitch<AttributeList::Kind>(AttrName)
- #include "clang/Sema/AttrParsedAttrKinds.inc"
- .Default(UnknownAttribute);
+ return ::getAttrKind(AttrName);
}
OpenPOWER on IntegriCloud