-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Closed
Labels
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 SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsoptimizationtenet-performancePerformance related issuePerformance related issue
Milestone
Description
Tracking issue for a classic codesize optimization that's not currently implemented in RyuJIT. The optimization would find predecessors of a common successor (along non-critical edges) that all end in equivalent sequences leading up to the join, and move the goto
s and join earlier such that statically only one copy of the equivalent sequence remains. We'd want to treat return
s as "joining" at the continuation so that we could eliminate redundant epilogs when a function has (statically) multiple return
s of the same expression.
category:cq
theme:optimization
skill-level:expert
cost:medium
HFadeel, helloguo, LYP951018, Thealexbarney, airbreather and 4 more
Metadata
Metadata
Assignees
Labels
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 SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsoptimizationtenet-performancePerformance related issuePerformance related issue