Extending the notion of info-output-file by replacing it with
a generic getInfoOutputStream. By default it is still populated with
the file stream created from a managed-static LibSupportInfoOutputFilename.
New interface introduced:
llvm::setInfoOutputStreamProvider
which allows to specify a custom callback which provides an output stream
when needed.
Current intended use is to get "info" output into separate output streams per
each compilation, allowing to, say, get independent non-overlapping pass-times
reports for parallel independent compilations. It can be implemented by installing
a custom stream provider that manages thread-local copies of output streams.
That "thread-aware" provider is not supplied with this fix.