diff options
Diffstat (limited to 'tools/opt')
-rw-r--r-- | tools/opt/CMakeLists.txt | 9 | ||||
-rw-r--r-- | tools/opt/opt.cpp | 10 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tools/opt/CMakeLists.txt b/tools/opt/CMakeLists.txt index 1f76ab5551..1d3f08db7d 100644 --- a/tools/opt/CMakeLists.txt +++ b/tools/opt/CMakeLists.txt @@ -32,3 +32,12 @@ add_llvm_tool(opt opt.cpp ) set_target_properties(opt PROPERTIES ENABLE_EXPORTS 1) + +if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) + target_link_libraries(opt Polly) + if(POLLY_LINK_LIBS) + foreach(lib ${POLLY_LINK_LIBS}) + target_link_libraries(opt ${lib}) + endforeach(lib) + endif(POLLY_LINK_LIBS) +endif(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 4dd9544fc3..5a198816e6 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -304,6 +304,12 @@ static TargetMachine* GetTargetMachine(Triple TheTriple) { GetCodeGenOptLevel()); } +#ifdef LINK_POLLY_INTO_TOOLS +namespace polly { +void initializePollyPasses(llvm::PassRegistry &Registry); +} +#endif + //===----------------------------------------------------------------------===// // main for opt // @@ -338,6 +344,10 @@ int main(int argc, char **argv) { // supported. For now, just add CodeGenPrepare. initializeCodeGenPreparePass(Registry); +#ifdef LINK_POLLY_INTO_TOOLS + polly::initializePollyPasses(Registry); +#endif + cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .bc modular optimizer and analysis printer\n"); |