diff options
Diffstat (limited to 'clang/tools/driver/cc1_main.cpp')
-rw-r--r-- | clang/tools/driver/cc1_main.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/tools/driver/cc1_main.cpp b/clang/tools/driver/cc1_main.cpp index 1c37c7ddeed..990c4fc3c84 100644 --- a/clang/tools/driver/cc1_main.cpp +++ b/clang/tools/driver/cc1_main.cpp @@ -57,6 +57,12 @@ static void LLVMErrorHandler(void *UserData, const std::string &Message, exit(GenCrashDiag ? 70 : 1); } +#ifdef LINK_POLLY_INTO_TOOLS +namespace polly { +void initializePollyPasses(llvm::PassRegistry &Registry); +} +#endif + int cc1_main(const char **ArgBegin, const char **ArgEnd, const char *Argv0, void *MainAddr) { std::unique_ptr<CompilerInstance> Clang(new CompilerInstance()); @@ -68,6 +74,11 @@ int cc1_main(const char **ArgBegin, const char **ArgEnd, llvm::InitializeAllAsmPrinters(); llvm::InitializeAllAsmParsers(); +#ifdef LINK_POLLY_INTO_TOOLS + llvm::PassRegistry &Registry = *llvm::PassRegistry::getPassRegistry(); + polly::initializePollyPasses(Registry); +#endif + // Buffer diagnostics from argument parsing so that we can output them using a // well formed diagnostic object. IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions(); |