From 05be936fd6ee2fa45fbab68cc70765782e7af8fe Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Fri, 5 May 2017 21:28:02 +0300 Subject: [PATCH] [HIPIFY] LLVM 3.9 support 3.8 and 3.9 are both supported. 3.8 is stable, 3.9 needs more testing. --- hipify-clang/CMakeLists.txt | 9 +++++++-- hipify-clang/src/Cuda2Hip.cpp | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hipify-clang/CMakeLists.txt b/hipify-clang/CMakeLists.txt index a02b91407f..872db3defe 100644 --- a/hipify-clang/CMakeLists.txt +++ b/hipify-clang/CMakeLists.txt @@ -6,8 +6,12 @@ set(BUILD_HIPIFY_CLANG 0 PARENT_SCOPE) # Find LLVM package find_package(LLVM 3.8 QUIET PATHS ${HIPIFY_CLANG_LLVM_DIR} NO_DEFAULT_PATH) if (NOT ${LLVM_FOUND}) - message(STATUS "hipify-clang will not be built. To build it please specify absolute path to LLVM (v3.8) package using -DHIPIFY_CLANG_LLVM_DIR") -else() + find_package(LLVM 3.9 QUIET PATHS ${HIPIFY_CLANG_LLVM_DIR} NO_DEFAULT_PATH) + if (NOT ${LLVM_FOUND}) + message(STATUS "hipify-clang will not be built. To build it please specify absolute path to LLVM 3.8 or LLVM 3.9 package using -DHIPIFY_CLANG_LLVM_DIR") + endif() +endif() +if (${LLVM_FOUND}) list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR}) include(AddLLVM) @@ -31,6 +35,7 @@ else() clangSerialization clangSema clangEdit + clangFormat clangLex clangAnalysis clangDriver diff --git a/hipify-clang/src/Cuda2Hip.cpp b/hipify-clang/src/Cuda2Hip.cpp index 07fc817b53..1c6406b4ab 100644 --- a/hipify-clang/src/Cuda2Hip.cpp +++ b/hipify-clang/src/Cuda2Hip.cpp @@ -3533,7 +3533,11 @@ void printAllStats(const std::string &csvFile, int64_t totalFiles, int64_t conve int main(int argc, const char **argv) { auto start = std::chrono::steady_clock::now(); auto begin = start; +#if (LLVM_VERSION_MAJOR >= 3) && (LLVM_VERSION_MINOR >= 9) + llvm::sys::PrintStackTraceOnErrorSignal(StringRef()); +#else llvm::sys::PrintStackTraceOnErrorSignal(); +#endif CommonOptionsParser OptionsParser(argc, argv, ToolTemplateCategory, llvm::cl::OneOrMore); std::vector fileSources = OptionsParser.getSourcePathList(); std::string dst = OutputFilename;