This patch makes analyzeBranch eliminate unconditional branch to the next instruction.
After basic blocks are re-organized by optimizers, such as machine block placement, a BB may end with an unconditional branch to the next (fallthrough) BB. This patch removes such redundant branch instruction.
This makes the assumption that the blocks are ordered in in the MachineFunction in the same order in which they'll be emitted. Can you add a comment with a quick explanation of why you're allowed to make that assumption.