From 238dae9143f61be10efb8f2d9488fe7462a4c01c Mon Sep 17 00:00:00 2001 From: "Jiang, Zhiwei" Date: Wed, 18 Jan 2023 11:53:19 +0800 Subject: [PATCH 1/2] [SYCLomatic] Inline 4 cmake macros Signed-off-by: Jiang, Zhiwei --- clang/CMakeLists.txt | 28 ++++++---- clang/lib/DPCT/CMakeLists.txt | 82 ++++++++++++++++++++++++++++- clang/lib/DPCT/cmake/libDPCT.cmake | 84 ------------------------------ clang/tools/dpct/CMakeLists.txt | 22 +++++++- clang/tools/dpct/cmake/dpct.cmake | 45 ---------------- 5 files changed, 121 insertions(+), 140 deletions(-) delete mode 100644 clang/lib/DPCT/cmake/libDPCT.cmake delete mode 100644 clang/tools/dpct/cmake/dpct.cmake diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index b2af15e49493..1aa98d823bee 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -512,14 +512,6 @@ list(APPEND LLVM_COMMON_DEPENDS clang-tablegen-targets) if(LLVM_ENABLE_MODULES) list(APPEND LLVM_COMMON_DEPENDS intrinsics_gen) endif() -# SYCLomatic_CUSTOMIZATION begin -list(INSERT CMAKE_MODULE_PATH 0 - "${CMAKE_CURRENT_SOURCE_DIR}/lib/DPCT/cmake" - "${CMAKE_CURRENT_SOURCE_DIR}/tools/dpct/cmake" - ) -include(libDPCT) -include(dpct) -# SYCLomatic_CUSTOMIZATION end add_subdirectory(lib) add_subdirectory(tools) add_subdirectory(runtime) @@ -1026,7 +1018,25 @@ configure_file( # SYCLomatic_CUSTOMIZATION begin if (NOT CLANG_BUILT_STANDALONE) - set_dpct_package() + if(WIN32) + list(APPEND DPCT_RUN + install-dpct-pattern-rewriter + install-dpct-headers + install-clang-resource-headers + install-dpct-binary + install-dpct-opt-rules + ) + else() + list(APPEND DPCT_RUN + install-dpct-intercept-build + install-dpct-pattern-rewriter + install-dpct-headers + install-clang-resource-headers + install-dpct-binary + install-dpct-autocomplete + install-dpct-opt-rules + ) + endif() endif() add_custom_target(install-dpct DEPENDS ${DPCT_RUN}) set_target_properties(install-dpct PROPERTIES FOLDER "install dpct") diff --git a/clang/lib/DPCT/CMakeLists.txt b/clang/lib/DPCT/CMakeLists.txt index 6efe11f1efaa..80936d78b755 100644 --- a/clang/lib/DPCT/CMakeLists.txt +++ b/clang/lib/DPCT/CMakeLists.txt @@ -103,4 +103,84 @@ include_directories( add_subdirectory(ConfusableTable) -build_lib_dpct() +add_clang_library(DPCT + ASTTraversal.cpp + AnalysisInfo.cpp + CallExprRewriter.cpp + CallExprRewriterCUB.cpp + CallExprRewriterCUFFT.cpp + CallExprRewriterCUBLAS.cpp + CallExprRewriterCURAND.cpp + CallExprRewriterCUSOLVER.cpp + CallExprRewriterComplex.cpp + CallExprRewriterDriver.cpp + CallExprRewriterMemory.cpp + CallExprRewriterNccl.cpp + CallExprRewriterStream.cpp + CallExprRewriterTexture.cpp + CallExprRewriterThrust.cpp + CallExprRewriterWarp.cpp + CallExprRewriterCUDNN.cpp + CallExprRewriterErrorHandling.cpp + CallExprRewriterLIBCU.cpp + CallExprRewriterEvent.cpp + CallExprRewriterMath.cpp + CallExprRewriterCG.cpp + Diagnostics.cpp + Error.cpp + Statics.cpp + ExprAnalysis.cpp + ExtReplacements.cpp + MapNames.cpp + SaveNewFiles.cpp + DPCT.cpp + TextModification.cpp + Utility.cpp + ValidateArguments.cpp + ExternalReplacement.cpp + SignalProcess.cpp + VcxprojParser.cpp + LibraryAPIMigration.cpp + CustomHelperFiles.cpp + GenMakefile.cpp + IncrementalMigrationUtility.cpp + Rules.cpp + Homoglyph.cpp + MisleadingBidirectional.cpp + BarrierFenceSpaceAnalyzer.cpp + BLASAPIMigration.cpp + FFTAPIMigration.cpp + DNNAPIMigration.cpp + NCCLAPIMigration.cpp + TypeLocRewriters.cpp + QueryApiMapping.cpp + AutoComplete.cpp + LIBCUAPIMigration.cpp + CUBAPIMigration.cpp + MemberExprRewriter.cpp + MigrationRuleManager.cpp + MigrationAction.cpp + ThrustAPIMigration.cpp + + DEPENDS + ClangDriverOptions + dpct_helper_headers_and_inc + genconfusable + + LINK_LIBS + clangBasic + clangLex + clangAnalysis + clangAST + clangASTMatchers + clangDriver + clangEdit + clangFormat + clangFrontend + clangParse + clangRewrite + clangSema + clangSerialization + clangTooling + clangToolingCore +) diff --git a/clang/lib/DPCT/cmake/libDPCT.cmake b/clang/lib/DPCT/cmake/libDPCT.cmake deleted file mode 100644 index bb42d858e73f..000000000000 --- a/clang/lib/DPCT/cmake/libDPCT.cmake +++ /dev/null @@ -1,84 +0,0 @@ -macro(build_lib_dpct) - add_clang_library(DPCT - ASTTraversal.cpp - AnalysisInfo.cpp - CallExprRewriter.cpp - CallExprRewriterCUB.cpp - CallExprRewriterCUFFT.cpp - CallExprRewriterCUBLAS.cpp - CallExprRewriterCURAND.cpp - CallExprRewriterCUSOLVER.cpp - CallExprRewriterComplex.cpp - CallExprRewriterDriver.cpp - CallExprRewriterMemory.cpp - CallExprRewriterNccl.cpp - CallExprRewriterStream.cpp - CallExprRewriterTexture.cpp - CallExprRewriterThrust.cpp - CallExprRewriterWarp.cpp - CallExprRewriterCUDNN.cpp - CallExprRewriterErrorHandling.cpp - CallExprRewriterLIBCU.cpp - CallExprRewriterEvent.cpp - CallExprRewriterMath.cpp - CallExprRewriterCG.cpp - Diagnostics.cpp - Error.cpp - Statics.cpp - ExprAnalysis.cpp - ExtReplacements.cpp - MapNames.cpp - SaveNewFiles.cpp - DPCT.cpp - TextModification.cpp - Utility.cpp - ValidateArguments.cpp - ExternalReplacement.cpp - SignalProcess.cpp - VcxprojParser.cpp - LibraryAPIMigration.cpp - CustomHelperFiles.cpp - GenMakefile.cpp - IncrementalMigrationUtility.cpp - Rules.cpp - Homoglyph.cpp - MisleadingBidirectional.cpp - BarrierFenceSpaceAnalyzer.cpp - BLASAPIMigration.cpp - FFTAPIMigration.cpp - DNNAPIMigration.cpp - NCCLAPIMigration.cpp - TypeLocRewriters.cpp - QueryApiMapping.cpp - AutoComplete.cpp - LIBCUAPIMigration.cpp - CUBAPIMigration.cpp - MemberExprRewriter.cpp - MigrationRuleManager.cpp - MigrationAction.cpp - ThrustAPIMigration.cpp - - - DEPENDS - ClangDriverOptions - dpct_helper_headers_and_inc - genconfusable - - LINK_LIBS - clangBasic - clangLex - clangAnalysis - clangAST - clangASTMatchers - clangDriver - clangEdit - clangFormat - clangFrontend - clangParse - clangRewrite - clangSema - clangSerialization - clangTooling - clangToolingCore - ) -endmacro() diff --git a/clang/tools/dpct/CMakeLists.txt b/clang/tools/dpct/CMakeLists.txt index 39e8895b0e7a..b5f7a6dafa49 100644 --- a/clang/tools/dpct/CMakeLists.txt +++ b/clang/tools/dpct/CMakeLists.txt @@ -19,6 +19,26 @@ include_directories( ../../../clang/lib/Driver/ ) -install_dpct() +target_link_libraries(dpct-binary + PRIVATE + DPCT + ) + +add_clang_symlink(c2s dpct-binary) +if(UNIX) + set(dpct_autocomplete_script bash-autocomplete.sh) +endif() + +if(UNIX) + install( + FILES ${dpct_autocomplete_script} + COMPONENT dpct-autocomplete + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + DESTINATION ./env) + if (NOT CMAKE_CONFIGURATION_TYPES) + add_llvm_install_targets(install-dpct-autocomplete + COMPONENT dpct-autocomplete) + endif() +endif() add_subdirectory(DpctOptRules) diff --git a/clang/tools/dpct/cmake/dpct.cmake b/clang/tools/dpct/cmake/dpct.cmake deleted file mode 100644 index eaa818963a19..000000000000 --- a/clang/tools/dpct/cmake/dpct.cmake +++ /dev/null @@ -1,45 +0,0 @@ -macro(set_dpct_package) - if(WIN32) - list(APPEND DPCT_RUN - install-dpct-pattern-rewriter - install-dpct-headers - install-clang-resource-headers - install-dpct-binary - install-dpct-opt-rules - ) - else() - list(APPEND DPCT_RUN - install-dpct-intercept-build - install-dpct-pattern-rewriter - install-dpct-headers - install-clang-resource-headers - install-dpct-binary - install-dpct-autocomplete - install-dpct-opt-rules - ) - endif() -endmacro() - -macro(install_dpct) - target_link_libraries(dpct-binary - PRIVATE - DPCT - ) - - add_clang_symlink(c2s dpct-binary) - if(UNIX) - set(dpct_autocomplete_script bash-autocomplete.sh) - endif() - - if(UNIX) - install( - FILES ${dpct_autocomplete_script} - COMPONENT dpct-autocomplete - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE - DESTINATION ./env) - if (NOT CMAKE_CONFIGURATION_TYPES) - add_llvm_install_targets(install-dpct-autocomplete - COMPONENT dpct-autocomplete) - endif() - endif() -endmacro() From 369ae50b6a82c3a4a935fdf348f5794f6f7b17e1 Mon Sep 17 00:00:00 2001 From: "Jiang, Zhiwei" Date: Mon, 6 Feb 2023 08:26:12 +0800 Subject: [PATCH 2/2] Fix merge Signed-off-by: Jiang, Zhiwei --- clang/lib/DPCT/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/lib/DPCT/CMakeLists.txt b/clang/lib/DPCT/CMakeLists.txt index e67bb0040562..200ea046e778 100644 --- a/clang/lib/DPCT/CMakeLists.txt +++ b/clang/lib/DPCT/CMakeLists.txt @@ -115,6 +115,7 @@ add_clang_library(DPCT CallExprRewriterCUBLAS.cpp CallExprRewriterCURAND.cpp CallExprRewriterCUSOLVER.cpp + CallExprRewriterCUSPARSE.cpp CallExprRewriterComplex.cpp CallExprRewriterDriver.cpp CallExprRewriterMemory.cpp