[all-commits] [llvm/llvm-project] 6951b7: [clang] Speedup line offset mapping computation
serge-sans-paille via All-commits
all-commits at lists.llvm.org
Wed Apr 7 05:10:13 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6951b72334bbe4c189c71751edc1e361d7b5632c
https://github.com/llvm/llvm-project/commit/6951b72334bbe4c189c71751edc1e361d7b5632c
Author: serge-sans-paille <sguelton at redhat.com>
Date: 2021-04-07 (Wed, 07 Apr 2021)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
M llvm/test/tools/llvm-objdump/X86/source-interleave-prefix.test
Log Message:
-----------
[clang] Speedup line offset mapping computation
Clang spends a decent amount of time in the LineOffsetMapping::get(...)
function. This function used to be vectorized (through SSE2) then the
optimization got dropped because the sequential version was on-par performance
wise.
This provides an optimization of the sequential version that works on a word at
a time, using (documented) bithacks to provide a portable vectorization.
When preprocessing the sqlite amalgamation, this yields a sweet 3% speedup.
Differential Revision: https://reviews.llvm.org/D99409
More information about the All-commits
mailing list