Forked from dotnet/coreclr#9541 (comment).
The code for List<__Canon>::Clear() after dotnet/coreclr#9540:
G_M58440_IG01:
56 push rsi
4883EC30 sub rsp, 48
48894C2428 mov qword ptr [rsp+28H], rcx
488BF1 mov rsi, rcx
G_M58440_IG02:
488B0E mov rcx, qword ptr [rsi] ;** ?? --- redundant load?
448B4618 mov r8d, dword ptr [rsi+24] ; int size = _size;
33C9 xor ecx, ecx ;** 0 ----^ clears earlier move
...
The redundant load is left over temp from optimized out dictionary lookup. Can we get rid of it?
Jit Dump: ListClear.txt
Forked from dotnet/coreclr#9541 (comment).
The code for
List<__Canon>::Clear()after dotnet/coreclr#9540:The redundant load is left over temp from optimized out dictionary lookup. Can we get rid of it?
Jit Dump: ListClear.txt