This change is a precondition to the proposed change
http://reviews.llvm.org/D3627. I think it's also generally helpful, as it
reduces the number of invariants of the CFG this code relies on.
The idea is to explicitly search for the next return that doesn't have other
paths into it (that is, if the current block is dead, the block containing the
return must be dead, too).
If the block does contain a statement, and it's not a return, then we don't want to keep searching, do we?