This patch fixes a crash in LICM due to an unreachable use being missed by LCSSA (pr19798).
As LCSSA needs to check uses of all loop definitions, I've had to remove the early-exit optimisation to avoid scanning uses of blocks which don't dominate loop exits (and it's associated test). This may have an impact on compile times for large loops, but I'm not sure of any alternatives here.
Review appreciated.