This patch adds a LegalityResultWithReason class for describing the reason why legality decided not to vectorize the code.