[all-commits] [llvm/llvm-project] f8d270: [ARM] Reduce loop unroll when low overhead branchi...
Vladi Krapp via All-commits
all-commits at lists.llvm.org
Wed Dec 18 02:11:14 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f8d270474c14c6705c77971494505dbe4b6d55ae
https://github.com/llvm/llvm-project/commit/f8d270474c14c6705c77971494505dbe4b6d55ae
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/ARM/lob-unroll.ll
Log Message:
-----------
[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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list