diff options
author | Florian Hahn <flo@fhahn.com> | 2025-10-08 13:04:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-08 13:04:30 +0100 |
commit | c7fbe388938b2c9ee78a3160fedebd9bebe5d20d (patch) | |
tree | 73809387a7846fb44ba3acbd4a55842a76b58ced /openmp/runtime/test/lit.cfg | |
parent | 482cd5fe067b0d16abd65acdc693b8d178bb1098 (diff) | |
download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 |
When computing the backedge taken count, we know that the expression
must be valid just before we enter the loop. Using the terminator of the
loop predecessor as context instruction for getConstantMultiple,
getMinTrailingZeros allows using information from things like alignment
assumptions.
When a context instruction is used, the result is not cached, as it is
only valid at the specific context instruction.
Compile-time looks neutral:
http://llvm-compile-time-tracker.com/compare.php?from=9be276ec75c087595ebb62fe11b35c1a90371a49&to=745980f5e1c8094ea1293cd145d0ef1390f03029&stat=instructions:u
No impact on llvm-opt-benchmark
(https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2867), but leads to
additonal unrolling in ~90 files across a C/C++ based corpus including
LLVM on AArch64 using libc++ (which emits alignment assumptions for
things like std::vector::begin).
PR: https://github.com/llvm/llvm-project/pull/160941
Diffstat (limited to 'openmp/runtime/test/lit.cfg')
0 files changed, 0 insertions, 0 deletions