-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Closed
Labels
Priority:3Work that is nice to haveWork that is nice to haveUser 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
This issue captures the planned work for .NET 8. This list is expected to change throughout the release cycle according to ongoing planning and discussions, with possible additions and subtractions to the scope. Note that we have not finished .NET 8 planning so most items are only under consideration.
Completed in .NET 8
- PGO: Add new tiers #70941
- JIT: build pred lists early, persist them throughout compilation #80193
- JIT: maintain pred lists during loop unrolling #80625
- JIT: fix remaining phases that were rebuilding pred edges #80769
- JIT: update bbNums before inverting loops #80827
- JIT: build pred lists before the eh opt phases #80856
- JIT: build pred lists before object allocation phase #80891
- JIT: have inliner use fgSplitBlockAfterStatement #80928
- JIT: reset max bbnum after failed inline attempt #80958
- JIT: build pred lists before inlining #81000
- JIT: build pred lists before patchpoint expansion #81196
- JIT: update
fgReplaceJumpTarget
to maintain pred lists #81246 - JIT: build pred lists before instrumentation #81288
- JIT: build pred lists first #81448
- JIT: build pred lists when we first build the flow graph #81524
- JIT: remove cheap preds #81562
- JIT: fix issue with partial comp pred list maintenance #81605
- JIT: initial implementation of profile synthesis #82926
- JIT: add concept of edge likelihood #81738
- Look into tradeoffs in profile accuracy -- run TE benchmarks with the new
Interlocked
profiling mode and see if it helps steady state perf. - JIT: resolve issues with OSR and PGO #47942
- Fix interaction of PGO and partial compilation #66101
- Enhance delegate GDV: Loop cloning support
- Reduce performance overhead of Tier0 instrumentation
- JIT: rename flowList to FlowEdge and encapsulate all fields #81621
Opportunistic for .NET 8
- Enhance delegate GDV
- Instance methods on value types (delegates pointing to unboxing stubs)
- Static methods (delegates pointing to shuffle thunks)
- R2R support
- Profile Synthesis Work Items #82964
- JIT: refactor edge weight representation #46885
- JIT: use normalized counts throughout #46883
- Profile Maintenance. See below for more on the overall approach and because of the larger than expected amount of inconsistencies in profile data, the revised plan.
- JIT: use normalized counts throughout #46883
- Array interface method devirtualization #62457 (too many missing pieces)
- PGO considerations for finally cloning #48925
- Enhance GDV-like capability for indirect calls (optimization of indirect calls #44610)
- JIT: optimize redundant type tests created by PGO #46887 (needs SSA update)
- JIT: optimize redundant type tests created by PGO #46887
- RyuJIT: Allow developers to provide Branch Prediction Information #6225
Deferred
category:planning
theme:profile-feedback
skill-level:expert
cost:large
impact:large
Metadata
Metadata
Assignees
Labels
Priority:3Work that is nice to haveWork that is nice to haveUser 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