[clang-repl] Honor `-emit-llvm` to print incremental IR (#217870)
clang-repl cannot currently emit the LLVM IR it generates. The
command-line emit actions are accepted but folded into
`EmitLLVMOnlyAction` (producing no output), and `frontend::EmitLLVM` is
rejected by the incremental frontend action when `-emit-llvm` is passed.
This prevents users from inspecting IR produced per-input PTU.
This patch teaches clang-repl to honor `-emit-llvm` by allowing the
IncrementalAction to accept `frontend::EmitLLVM` , making the driver
print each input's `llvm::Modul` to stdout instead of executing it,
similar to `clang -emit-llvm`. This enables a lit-level test to
FileCheck the IR produced by clang-repl and the effect of a statement on
it. Exposing this functionality beyond the driver level to allow library
consumers of `clang::Interpreter` to use it is a planned follow-up.