[cfe-commits] r171262 - /cfe/trunk/lib/AST/CommentLexer.cpp

Dmitri Gribenko gribozavr at gmail.com
Sun Dec 30 11:45:46 PST 2012


Author: gribozavr
Date: Sun Dec 30 13:45:46 2012
New Revision: 171262

URL: http://llvm.org/viewvc/llvm-project?rev=171262&view=rev
Log:
Comment lexing: replace manual comparison with StringRef::find_first_of

This gives an about 1.8% improvement on Clang bootstrap with -Wdocumentation

Modified:
    cfe/trunk/lib/AST/CommentLexer.cpp

Modified: cfe/trunk/lib/AST/CommentLexer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/CommentLexer.cpp?rev=171262&r1=171261&r2=171262&view=diff
==============================================================================
--- cfe/trunk/lib/AST/CommentLexer.cpp (original)
+++ cfe/trunk/lib/AST/CommentLexer.cpp Sun Dec 30 13:45:46 2012
@@ -415,15 +415,12 @@
         return;
 
       default: {
-        while (true) {
-          TokenPtr++;
-          if (TokenPtr == CommentEnd)
-            break;
-          const char C = *TokenPtr;
-          if(C == '\n' || C == '\r' ||
-             C == '\\' || C == '@' || C == '&' || C == '<')
-            break;
-        }
+        size_t End = StringRef(TokenPtr, CommentEnd - TokenPtr).
+                         find_first_of("\n\r\\@&<");
+        if (End != StringRef::npos)
+          TokenPtr += End;
+        else
+          TokenPtr = CommentEnd;
         formTextToken(T, TokenPtr);
         return;
       }





More information about the cfe-commits mailing list