Dead stores generated from arguments to the helper call that was dead #36663
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
tenet-performance
Performance related issue
Milestone
While investigating a test failure for #35675, I noticed that we don't remove the arguments to a dead call completely and end up with unnecessary loads to registers.
Below is the IR that populates the arguments to helper
READYTORUN_ISINSTANCEOF
.During liveness, we remove dead call to that helper and remove some of the nodes related to them (few of them related to the R2R indirect param handled in #35675).
However it doesn't remove nodes like
t201
andt55
and so we generate code for it.The final code looks like this:
Here, we perform dead stores to
x2
and should be removed. Similar observation can be seen for x64:category:cq
theme:liveness
skill-level:expert
cost:medium
impact:small
The text was updated successfully, but these errors were encountered: