For below case, virtual register is defined twice in the self loop. We
don't need to spill %0 after the third instruction %0 = def (tied %0),
because it is defined in the second instruction %0 = def.
1 bb.1
2 %0 = def
3 %0 = def (tied %0)
4 ...
5 jmp bb.1
This is ignoring any definitions outside of MBB but we really have to abort for correctness, don't we?