[lldb-instr] Pass PCHContainerOperations to ClangTool

On a local modules build this would cause an error.

> fatal error: no handler registered for module format 'obj'
> LLVM ERROR: unknown module format

Interestingly enough, this didn't trigger on the GreenDragon CMake bot,
which is configured with modules.

llvm-svn: 353869
diff --git a/lldb/tools/lldb-instr/Instrument.cpp b/lldb/tools/lldb-instr/Instrument.cpp
index a2850f5..cbc2842 100644
--- a/lldb/tools/lldb-instr/Instrument.cpp
+++ b/lldb/tools/lldb-instr/Instrument.cpp
@@ -1,6 +1,7 @@
 #include "clang/AST/AST.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/AST/RecursiveASTVisitor.h"
+#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"
 #include "clang/Frontend/ASTConsumers.h"
 #include "clang/Frontend/CompilerInstance.h"
 #include "clang/Frontend/FrontendActions.h"
@@ -280,6 +281,11 @@
   CommonOptionsParser OP(argc, argv, InstrCategory,
                          "Utility for generating the macros for LLDB's "
                          "instrumentation framework.");
-  ClangTool T(OP.getCompilations(), OP.getSourcePathList());
+
+  auto PCHOpts = std::make_shared<PCHContainerOperations>();
+  PCHOpts->registerWriter(llvm::make_unique<ObjectFilePCHContainerWriter>());
+  PCHOpts->registerReader(llvm::make_unique<ObjectFilePCHContainerReader>());
+
+  ClangTool T(OP.getCompilations(), OP.getSourcePathList(), PCHOpts);
   return T.run(newFrontendActionFactory<SBAction>().get());
 }