Files
clang-p2996/llvm/test/Transforms/LoopUnroll/AArch64
Florian Hahn 46a13a5b17 [AArch64] Runtime-unroll small multi-exit loops on Apple Silicon. (#124751)
Extend unrolling preferences to allow more aggressive unrolling of
search loops with 2 exits, building on the TTI hook added in

ad9da92cf6.

In combination with
eac23a5b97
this enables unrolling loops like
std::find, which can improve performance significantly (+15% end-to-end
on a workload that makes heavy use of std::find). It increase the total
number of unrolled loops by ~2.5% across a very large corpus of
workloads.

For SPEC2017, +1.6% more loops are unrolled and the following workloads
increase in size (`__text`):

      workload             base                patch  
    500.perlbench_r   1682884.00         1694104.00  0.7%
    523.xalancbmk_r   3001716.00          3003832.00  0.1%

PR: https://github.com/llvm/llvm-project/pull/124751
2025-02-27 14:42:45 +00:00
..