Remove spill-reload like copy chains. For example
r0 = COPY r1 r1 = COPY r2 r2 = COPY r3 r3 = COPY r4 <def-use r4> r4 = COPY r3 r3 = COPY r2 r2 = COPY r1 r1 = COPY r0
will be folded into
r0 = COPY r1 r1 = COPY r4 <def-use r4> r4 = COPY r1 r1 = COPY r0
Maybe rename in LastSeenUseInCopy.
Essentially, I would avoid LastUse alone as it carries a lot of expected semantic that I don't think apply here.