This way we get backtraces on all platforms, and in a consistent format.
I would not do this.
Printing to stderr is probably a good idea
It's probably fine to reimplement Host::Backtrace() in terms of LLVM APIs if it can be done generally and with decent performance, but I don't see much in terms of added value in this change
Hmm, I'm not sure I agree. Whether it prints to a Stream or directly to
stderr is kind of an implementation detail. Not very important since it
just ends up to stdout or stderr anwyay and we don't do anything else with
the backtrace except print it and throw it away.
llvm already has functionality built in to serve exactly this purpose. Why
shouldn't we use it? Not only are we sure that it's implemented on all
platforms that LLVM supports, but the format is consistent on all of these
platforms, and anyway why reinvent the wheel?