[llvm] [LoopUnroll] Introduce parallel reduction phis when unrolling. (PR #149470)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 18 13:51:34 PDT 2025


https://github.com/fhahn commented:

> At a high level, do we really want to do this in the unroller? We can already "unroll" loops like this, if you pass `#pragma clang loop vectorize_width(1) interleave_count(4)`, and the vectorizer has better infrastructure for cost modeling.

For some cases delegating to the loop-vectorizer would probably work, but in the unroller we can also handle cases that are not easily supported in LV (e.g. memory dependences preventing vectorization (we still need to prove its save to re-order instructions), function calls, or vector reductions, albeit that latter isn't handled yet by the patch).

https://github.com/llvm/llvm-project/pull/149470


More information about the llvm-commits mailing list