dotnet/coreclr#9479 created some cases where the RA did back to back register shuffles that weren't there before. Would be nice to get rid of these.
Some examples from the core library:
System.CurrentSystemTimeZone:.ctor():this
call CachedData:CreateLocal():ref:this
mov rdi, rax
G_M12143_IG03:
mov rax, rdi
mov rdi, rax
System.String:Concat(ref):ref
call CORINFO_HELP_ASSIGN_REF
G_M54378_IG15:
mov rax, rdi
mov rdi, rax
System.DateTime:FromBinary(long):struct
call CachedData:CreateLocal():ref:this
mov rbp, rax
G_M34503_IG04:
mov rcx, rbp
category:cq
theme:register-allocator
skill-level:expert
cost:medium
dotnet/coreclr#9479 created some cases where the RA did back to back register shuffles that weren't there before. Would be nice to get rid of these.
Some examples from the core library:
category:cq
theme:register-allocator
skill-level:expert
cost:medium