[llvm] [IndVarSimplify] Allow predicateLoopExit on some loops with local writes (PR #155901)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 29 04:02:31 PDT 2025


https://github.com/nikic commented:

I assume that the overall optimization flow is that the condition gets predicated here and then unswitched?

This is kind of awkward because we don't really need the side effect restriction if we're willing to version the loop anyway. We'd want some variation on loop-bound-split...

> Alive2: https://alive2.llvm.org/ce/z/NREqBS

To prove loop transformations with alive you need to use `-src-unroll=N -tgt-unroll=N` and make sure the loop exits in N interations. Testing this with 1024 bounds is not going to work.

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


More information about the llvm-commits mailing list