diff options
author | Vladi Krapp <vladi.krapp@arm.com> | 2024-12-18 10:10:51 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-18 10:10:51 +0000 |
commit | f8d270474c14c6705c77971494505dbe4b6d55ae (patch) | |
tree | e3ae03e7bd90d88ee9f25a036dcbac7c88a6a0cc /llvm/tools/llvm-cov/SourceCoverageViewText.cpp | |
parent | 7e49ada9a3c0f8228c79de7f65d3255916087bb0 (diff) | |
download | llvm-f8d270474c14c6705c77971494505dbe4b6d55ae.zip llvm-f8d270474c14c6705c77971494505dbe4b6d55ae.tar.gz llvm-f8d270474c14c6705c77971494505dbe4b6d55ae.tar.bz2 |
[ARM] Reduce loop unroll when low overhead branching is available (#120065)
For processors with low overhead branching (LOB), runtime unrolling the
innermost loop is often detrimental to performance. In these cases the
loop remainder gets unrolled into a series of compare-and-jump blocks,
which in deeply nested loops get executed multiple times, negating the
benefits of LOB.
This is particularly noticable when the loop trip count of the innermost
loop varies within the outer loop, such as in the case of triangular
matrix decompositions.
In these cases we will prefer to not unroll the innermost loop, with the
intention for it to be executed as a low overhead loop.
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewText.cpp')
0 files changed, 0 insertions, 0 deletions