When we have code like this, jmp L1 should be changed to jmp L2:
jmp L1
...
L1:
jmp L2
...
L2:
This can happen for multiple hops as long as the jump is unconditional.
Original jump can conditional so this is also optimizable:
test rax, rax
je L1
...
L1:
jmp L2
...
L2: