Index: lib/CMakeLists.txt =================================================================== --- lib/CMakeLists.txt +++ lib/CMakeLists.txt @@ -90,6 +90,14 @@ LLVMTarget LLVMVectorize ) + if (GPU_CODEGEN) + target_link_libraries(Polly + LLVMNVPTXCodeGen + LLVMNVPTXInfo + LLVMNVPTXDesc + LLVMNVPTXAsmPrinter + ) + endif (GPU_CODEGEN) link_directories( ${LLVM_LIBRARY_DIR} ) @@ -125,4 +133,3 @@ # Check if we are building as part of an LLVM build add_dependencies(Polly intrinsics_gen) endif() - Index: lib/Support/RegisterPasses.cpp =================================================================== --- lib/Support/RegisterPasses.cpp +++ lib/Support/RegisterPasses.cpp @@ -35,6 +35,7 @@ #include "polly/Support/DumpModulePass.h" #include "llvm/Analysis/CFGPrinter.h" #include "llvm/IR/LegacyPassManager.h" +#include "llvm/Support/TargetSelect.h" #include "llvm/Transforms/IPO.h" #include "llvm/Transforms/IPO/PassManagerBuilder.h" #include "llvm/Transforms/Scalar.h" @@ -205,6 +206,10 @@ #ifdef GPU_CODEGEN initializePPCGCodeGenerationPass(Registry); + LLVMInitializeNVPTXTarget(); + LLVMInitializeNVPTXTargetInfo(); + LLVMInitializeNVPTXTargetMC(); + LLVMInitializeNVPTXAsmPrinter(); #endif initializeCodePreparationPass(Registry); initializeDeadCodeElimPass(Registry); Index: unittests/CMakeLists.txt =================================================================== --- unittests/CMakeLists.txt +++ unittests/CMakeLists.txt @@ -17,6 +17,14 @@ set_property(TARGET ${test_name} PROPERTY FOLDER "Polly") endif() target_link_libraries(${test_name} Polly LLVMCore LLVMSupport LLVMDemangle LLVMipo) + if (GPU_CODEGEN) + target_link_libraries(Polly + LLVMNVPTXCodeGen + LLVMNVPTXInfo + LLVMNVPTXDesc + LLVMNVPTXAsmPrinter + ) + endif (GPU_CODEGEN) endfunction() add_subdirectory(Isl)