-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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 SuperPMI
Description
By phantom I mean making replacements of fields that we have not seen any uses of. There are at least two situations where this would be beneficial:
- Assignment decomposition will introduce new LCL_FLD nodes that we can try to anticipate.
- If the unpromoted remainder can be represented as a primitive then that will allow us to get completely rid of the struct local. That often results in smaller prolog code.
The potential benefits can be predicted by simply repeating physical promotion a number of times. In my experiments, repeating physical promotion 10 times results in -120K with physical promotion enabled, and -2 MB with old promotion disabled.
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 SuperPMI