aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorEvandro Menezes <e.menezes@samsung.com>2019-08-05 18:09:14 +0000
committerEvandro Menezes <e.menezes@samsung.com>2019-08-05 18:09:14 +0000
commita005c1ac4f3bdadf8643888c2168ebe432649e2e (patch)
treec34dec57e8f0bb76137a16a70e9b9057de1ecbac /clang/lib/CodeGen/ModuleBuilder.cpp
parent76b772f9ce98f98be94a035bebe3c20605dc3d1c (diff)
downloadllvm-a005c1ac4f3bdadf8643888c2168ebe432649e2e.zip
llvm-a005c1ac4f3bdadf8643888c2168ebe432649e2e.tar.gz
llvm-a005c1ac4f3bdadf8643888c2168ebe432649e2e.tar.bz2
[AArch64] Expand bcmp() for small block lengths
Patch D56593 by @courbet results in calls to `bcmp()` in some cases, should the target support the it. Unless `TTI::MemCmpExpansionOptions()` is overridden by the target. In a proprietary benchmark we see a performance drop of about 12% on PNG compression before this patch, though it passes all tests. This patch mirrors X86 for AArch64 and initializes `TTI::MemCmpExpansionOptions()` to then expand calls to `bcmp()` when appropriate. No tuning of the parameters was performed, but, at this point, it's enough to recover the performance drop above. This problem also exists on ARM. Once a consensus is reached for AArch64, we can work to fix ARM as well. Authors: - Evandro Menezes (@evandro) <e.menezes@samsung.com> - Brian Rzycki (@brzycki) <b.rzycki@samsung.com> Differential revision: https://reviews.llvm.org/D64805 llvm-svn: 367898
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions