This improves a pattern like this:
j endOfLoop;
li v0, 0;
startOfLoop:
addiu v0, v0, 1
endOfLoop:
bne v0, a0, startOfLoop;
nop
jr ra
nop
Where it jumps to the end of the loop, which only jumps back to the top of
the loop. This might misdetect a few cases of tail recursion, but only
when the funcs are right next to each other.
Also, stops scanning at a jr ra, which was causing funcs to be incorrectly
long in cases.