-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Open
Labels
JitUntriagedCLR JIT issues needing additional triageCLR JIT issues needing additional triagearea-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
We currently allocate a struct temp for the result of newobj or any function returning struct. In many cases that struct is immediately assigned to a local. We should perform reverse copy prop to get rid of the temp.
The relevant comment in the code is here
Related issues:
- System.ValueTuple causes a StackOverflow when used in a large Dictionary. #8980
- JIT: consider optimizing constructor pattern for struct creation #9237
- Extra copy of struct before return #38743
- CQ: Big Value Type Suboptimal Inlining Code Generation #39732
category:cq
theme:copy-prop
skill-level:intermediate
cost:medium
HFadeel, Sergio0694, aromaa, mdenhoedt, PaulusParssinen and 3 more
Metadata
Metadata
Assignees
Labels
JitUntriagedCLR JIT issues needing additional triageCLR JIT issues needing additional triagearea-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