diff options
author | serge-sans-paille <sguelton@redhat.com> | 2021-04-01 22:18:55 +0200 |
---|---|---|
committer | serge-sans-paille <sguelton@redhat.com> | 2021-04-07 14:04:32 +0200 |
commit | 6951b72334bbe4c189c71751edc1e361d7b5632c (patch) | |
tree | 4769880a7a705156bf37adeb096644666e4814d1 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | f0e102c1a39f0f7e9e309b27916533b8fefd9be7 (diff) | |
download | llvm-6951b72334bbe4c189c71751edc1e361d7b5632c.zip llvm-6951b72334bbe4c189c71751edc1e361d7b5632c.tar.gz llvm-6951b72334bbe4c189c71751edc1e361d7b5632c.tar.bz2 |
[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
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions