David pointed out the lack of tests in r296007, which adds another mode to MI::print().
I'm not entirely convinced it's valuable, but I figured I'd give it a shot. I was wondering just how much effort it would take to write an MI test (turns out, a lot.)
So, this tests adds enough machinery to translate one MI from MIR (+IR), and uses that to test the 3 variants of print().
When (if) we merge MIR and MI dump, these tests should really just be replaced with our existing llc mir tests.
I assume this selects LLVM_DEFAULT_TARGET_TRIPLE. Would this fail if that isn't defined? The test should at least exit gracefully and not segfault in that case...