[all-commits] [llvm/llvm-project] 9f0f60: [clang] Provide an SSE4.2 implementation of identi...

serge-sans-paille via All-commits all-commits at lists.llvm.org
Thu Oct 19 01:46:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9f0f6060810ebd3006f62149d4739fc54af68536
      https://github.com/llvm/llvm-project/commit/9f0f6060810ebd3006f62149d4739fc54af68536
  Author: serge-sans-paille <serge.guelton at telecom-bretagne.eu>
  Date:   2023-10-19 (Thu, 19 Oct 2023)

  Changed paths:
    M clang/lib/Lex/Lexer.cpp

  Log Message:
  -----------
  [clang] Provide an SSE4.2 implementation of identifier token lexer (#68962)

The _mm_cmpistri instruction can be used to quickly parse identifiers.

With this patch activated, clang pre-processes <iostream> 1.8% faster,
and sqlite3.c amalgametion 1.5% faster, based on time measurements and
number of executed instructions as measured by valgrind.

The introduction of an extra helper function in the regular case has no
impact on performance, see


https://llvm-compile-time-tracker.com/compare.php?from=30240e428f0ec7d4a6d1b84f9f807ce12b46cfd1&to=12bcb016cde4579ca7b75397762098c03eb4f264&stat=instructions:u

---------

Co-authored-by: serge-sans-paille <sguelton at mozilla.com>




More information about the All-commits mailing list