-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
As we did for .NET 6 and .NET 7, 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 8.
Planned for .NET 8
Multi-dimensional array improvements
Loop recognition and canonicalization
- Loop canonicalization should always create loop pre-headers #77033 Always create pre-headers
- Change loop cloning to work with pre-header blocks #62665 Change loop cloning to work with pre-header blocks
Cut for .NET 8
Loop cloning
- Loops aren't cloned for Spans #82946 Support loop cloning for Span
Multi-dimensional array improvements
- RyuJIT: support cloning loop nests with multi-dimensional array accesses #71674
- Improve hoisting, CSE, LSRA for MD array accesses #71676
Loop recognition and canonicalization
- Certain loops do not get recorded in optLoopTable #43713 Describes two cases where loops are missed due to various issues.
- [JIT] Asm difference for F# and C# methods #58941 F# loops not recognized
Loop cloning
- Support loop cloning of class member arrays #77071 Clone arrays with class member arrays.
- Consider rebuilding loop table after loop cloning #62615
Metadata
Metadata
Assignees
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Type
Projects
Status
Done