[llvm] [Transforms][IndVarSimplify] Add loop no-op elimination to IndVarSimplify (PR #163534)

Nashe Mncube via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 16 06:55:19 PDT 2025


nasherm wrote:

@nikic After some tinkering I think this shouldn't be moved to IndVarSimplify. My reasons are as following

- The patch relies on  information generated during vectorization namely runtime SCEV checks
- To make this work with IndVarSimplify I either have to 
       (a) run IndVarSimplify again later in the pass pipeline, after vectorization, or 
       (b) move IndVarSimplify to later in the PassPipeline
- I assume that approach (b) is not desired. Leaving approach (a). Approach (a) is also not desirable as running IndVar multiple times in the pipeline introduces major regressions in a few of our internal benchmarks making this patch pointless.

Is it necessary for this not to exist as a separate pass? Given that it's not enabled by default I don't see why it should be merged with existing passes.

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


More information about the llvm-commits mailing list