From 17fac04433640dd9d3e7b63e4664ec531b04e50e Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Fri, 14 Mar 2014 04:04:27 +0000 Subject: static link polly llvm-svn: 203887 --- clang/tools/driver/CMakeLists.txt | 8 ++++++++ clang/tools/driver/cc1_main.cpp | 11 +++++++++++ 2 files changed, 19 insertions(+) (limited to 'clang/tools/driver') diff --git a/clang/tools/driver/CMakeLists.txt b/clang/tools/driver/CMakeLists.txt index 9442ba65da9..f60162f5e10 100644 --- a/clang/tools/driver/CMakeLists.txt +++ b/clang/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/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 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(); -- cgit v1.2.3