JIT: morph overly aggressive in killing local assertions #12086
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
optimization
Milestone
Checking
DefinesLocal
is not sufficient to establish that a tree is a local def. One also needs to check forGTF_VAR_DEF
.Because of this, morph ends up killing off local assertions for variables at uses as well as defs. Not surprisingly, this limits the usefulness of local assertion prop.
https://github.com/dotnet/coreclr/blob/344004681ace2b49dbc40d83ce422f81aa7efcb5/src/jit/morph.cpp#L15183-L15193
Fixing this shows some nice wins in System.Linq.Parallel:
cc @dotnet/jit-contrib
The text was updated successfully, but these errors were encountered: