Currently, we only remove dead blocks and non-feasible edges in IPSCCP, but not in SCCP. I'm not aware of any strong reason for that difference, so this patch updates SCCP to perform the CFG cleanup as well.
Compile-time impact seems to be pretty minimal: http://llvm-compile-time-tracker.com/compare.php?from=f65c88c42fdd0e46d16fe31737e6627c56de77c3&to=d9d221a4687368b26083ca34a230e69f9f0fb59b&stat=instructions
For the test case from https://reviews.llvm.org/D126962#3611579 the result after -sccp now looks like this: https://gist.github.com/nikic/d50c03ec140bf9de217c9960d4f60a08 -jump-threading does nothing on this, but -simplifycfg will produce the optimal result.