We plan to continue improving JIT optimization capabilities for loop code. An overview of many JIT optimization possibilities is here; this issue will focus on issues we choose to address in .NET 10.
Significant work was done in .NET 9; the list of work here for .NET 10 is much more modest.
The current loop inversion algorithm is lexical. Convert it to be graph based. This is part of the JIT flowgraph modernization push, and is tracked by https://github.com/dotnet/runtime/issues/107749.
We plan to continue improving JIT optimization capabilities for loop code. An overview of many JIT optimization possibilities is here; this issue will focus on issues we choose to address in .NET 10.
Significant work was done in .NET 9; the list of work here for .NET 10 is much more modest.
The corresponding .NET 9 issue is https://github.com/dotnet/runtime/issues/93144.
Planned for .NET 10
Update loop inversion implementation
The current loop inversion algorithm is lexical. Convert it to be graph based. This is part of the JIT flowgraph modernization push, and is tracked by https://github.com/dotnet/runtime/issues/107749.
Loop cloning
Multi-dimensional array improvements
Induction variable optimizations
Loop peeling