Precise liveness for LCL_FLD-s #49199
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
optimization
Milestone
For the following test:
we will have
must-init
flag on 's' because our liveness (infgPerNodeLocalVarLiveness
) does not seeas a full def, so JIT thinks that
s
value is used before defined:so "conservative" liveness prevents some optimizations, like mentioned zero-init elimination, dead store removals etc.
dumpForIssue.txt
I don't see a cheap solution, maybe mark "good" structs (no holes, overlaps, not address taken, not too many fields) with a new flag and track their liveness by fields using some "pseudo" numbers in
fgCurUseSet
instead of the parent lcl.Marking as future unless we see benchmarks where it could improve CQ, cc @dotnet/jit-contrib
category:cq
theme:liveness
skill-level:intermediate
cost:medium
impact:medium
The text was updated successfully, but these errors were encountered: