Every basic block must end with a terminator. I think that the most straightforward way to remove the unreachable instruction, then, is to replace it with another terminator - for example, a branch into the next basic block, a return instruction, etc.
Take a look at llvm::ReplaceInstWithInst
in BasicBlockUtils.h for a convenient way to replace one instruction with another.