From: Sebastian Pop Date: Fri, 14 Mar 2014 04:04:27 +0000 (+0000) Subject: static link polly X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5a6ac6125b573ab54e0273e3c7f5b8f7ae5b0019;p=clang static link polly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203887 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index 9442ba65da..f60162f5e1 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -110,3 +110,11 @@ if(CLANG_ORDER_FILE) target_link_libraries(clang "-Wl,-order_file,${CLANG_ORDER_FILE}") endif() +if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) + target_link_libraries(clang Polly) + if(POLLY_LINK_LIBS) + foreach(lib ${POLLY_LINK_LIBS}) + target_link_libraries(clang ${lib}) + endforeach(lib) + endif(POLLY_LINK_LIBS) +endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) diff --git a/tools/driver/cc1_main.cpp b/tools/driver/cc1_main.cpp index 1c37c7ddee..990c4fc3c8 100644 --- a/tools/driver/cc1_main.cpp +++ b/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 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 DiagOpts = new DiagnosticOptions();