It is valid that a function returns without using an Instruction::Ret as the last instruction? If so, can we assume that a BasicBlock with no successors is an exit BB?