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

Florian Mayer via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 29 13:18:40 PDT 2025


fmayer wrote:

> 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...

I am not completely sure what you mean. This works the same way this optimization generally works, but I am adding some additional cases where it is correct but wasn't applied previously. This makes the condition loop invariant, and then it gets moved into the preheader.

> 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.

Thanks! Done.

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


More information about the llvm-commits mailing list