[llvm] [SimplifyCFG] Avoid threading for loop headers (PR #151142)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 16 13:00:10 PDT 2025


https://github.com/nikic approved this pull request.

I was concerned about the number of regressions in memory optimizations on llvm-opt-benchmark. However, I suspect now that this is related to the non-standard configuration it uses. For one case I looked at, SimplifyCFG was able to unroll a two-iteration loop (phi with true + false used as exit condition), which enabled optimization. However, if llvm-opt-benchmark didn't use `-disable-loop-unrolling`, I'd expect LoopUnrollFull to handle it. So probably the regressions are over-represented.

Possibly we could still allow threading for cases where it unrolls the loop, but I guess this is ok for now.

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


More information about the llvm-commits mailing list