[dfsan] Fix non-determinism bug in non-zero label check annotator.

We now use a std::vector instead of a DenseSet to store the list of
label checks so that we can iterate over it deterministically.
fix: SLPVectorizer crashes for unreachable blocks containing not schedulable instructions.

In unreachable blocks it's legal to have instructions like "%x = op %x".
Such instuctions are not schedulable. Therefore the SLPVectorizer has to check for
unreachable blocks and ignore them.

Fixes bug 20646.