This patch provides a utility that can be used to verify IR against a
ConversionTarget. It does not actually attempt to do any conversion.
This is useful (when compared to applyFullConversion) because it
allows multiple passes to complete the lowering without having to
know their ordering in the lowering pipeline. It also provides
information on all illegal ops rather than failing at the first.
It is ported from similar passes in IREE, which can be reimplemented
using this utility. See, for example: