When we see this:
%a = COPY $physreg ... SOMETHING implicit-def $physreg ... %b = COPY $physreg
The two copies are not equivalent, and so we shouldn't perform any folding on them.
When we have two instructions which use a physical register check that they define the same virtual register(s) as well.
e.g., if we run into this case
%a = COPY $physreg ... %b = COPY %a
we can say that the two copies are the same, and can be folded.
ISel should probably not ever think about liveness like this