Skip to content

Commit 284e9f0

Browse files
authored
[SYCLLowerIR][CMake] Simplify vc-intrinsics CMake code (#19697)
I don't know why we had all the code explicitly handling the source/include dir but we don't need it now. If someone wants to override the repo/commit to use they can just use the standard `FETCHCONTENT_SOURCE_DIR_<uppercase_name>` variable. Tested this manually with a system-installed vc-intrinsics, works fine. --------- Signed-off-by: Sarnie, Nick <[email protected]>
1 parent 5dd13f3 commit 284e9f0

File tree

1 file changed

+20
-48
lines changed

1 file changed

+20
-48
lines changed

llvm/lib/SYCLLowerIR/CMakeLists.txt

Lines changed: 20 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,28 @@
11
# Lowering of SYCL ESIMD kernels depends on vc-intrinsics
22
# NOTE: could have been added earlier from llvm/projects
33
if (NOT TARGET LLVMGenXIntrinsics)
4-
if(NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR AND NOT LLVMGenXIntrinsics_INCLUDE_DIR)
5-
find_package(LLVMGenXIntrinsics QUIET)
6-
endif()
4+
find_package(LLVMGenXIntrinsics QUIET)
75

8-
if (NOT LLVMGenXIntrinsics_FOUND)
9-
if (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR)
10-
find_path(LLVMGenXIntrinsics_INCLUDE_DIR GenXIntrinsics/include PATHS ${CMAKE_PREFIX_PATH})
6+
if (NOT LLVMGenXIntrinsics_FOUND)
7+
set(LLVMGenXIntrinsics_GIT_REPO https://github.com/intel/vc-intrinsics.git)
118

12-
if (NOT LLVMGenXIntrinsics_INCLUDE_DIR)
13-
set(LLVMGenXIntrinsics_GIT_REPO https://github.com/intel/vc-intrinsics.git)
14-
15-
# Date: May 29, 2025
16-
# Use OneNthEltsVecArgument instead of HalfVecArguments to fix build failure.
17-
set(LLVMGenXIntrinsics_GIT_TAG 60cea7590bd022d95f5cf336ee765033bd114d69)
18-
19-
message(STATUS "vc-intrinsics repo is missing. Will try to download it from ${LLVMGenXIntrinsics_GIT_REPO}")
20-
include(FetchContent)
21-
FetchContent_Declare(vc-intrinsics
22-
GIT_REPOSITORY ${LLVMGenXIntrinsics_GIT_REPO}
23-
GIT_TAG ${LLVMGenXIntrinsics_GIT_TAG}
24-
)
25-
FetchContent_MakeAvailable(vc-intrinsics)
26-
FetchContent_GetProperties(vc-intrinsics)
27-
28-
set(LLVMGenXIntrinsics_SOURCE_DIR ${vc-intrinsics_SOURCE_DIR})
29-
set(LLVMGenXIntrinsics_BINARY_DIR ${vc-intrinsics_BINARY_DIR})
30-
else()
31-
message(STATUS "vc-intrinsics found in system at ${LLVMGenXIntrinsics_INCLUDE_DIR}")
32-
set(LLVMGenXIntrinsics_SOURCE_DIR ${LLVMGenXIntrinsics_INCLUDE_DIR}/..)
33-
set(LLVMGenXIntrinsics_BINARY_DIR ${CMAKE_BINARY_DIR}/vc-intrinsics-build)
34-
add_subdirectory(${LLVMGenXIntrinsics_SOURCE_DIR} ${LLVMGenXIntrinsics_BINARY_DIR})
35-
endif()
36-
else (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR)
37-
# -DLLVMGenXIntrinsics_SOURCE_DIR is provided
38-
message(STATUS "vc-intrinsics are added manually ${LLVMGenXIntrinsics_SOURCE_DIR}")
39-
40-
set(LLVMGenXIntrinsics_BINARY_DIR ${CMAKE_BINARY_DIR}/vc-intrinsics-build)
41-
add_subdirectory(${LLVMGenXIntrinsics_SOURCE_DIR} ${LLVMGenXIntrinsics_BINARY_DIR})
42-
endif (NOT DEFINED LLVMGenXIntrinsics_SOURCE_DIR)
43-
target_include_directories(LLVMGenXIntrinsics
44-
PUBLIC $<BUILD_INTERFACE:${LLVMGenXIntrinsics_SOURCE_DIR}/GenXIntrinsics/include>
45-
PUBLIC $<BUILD_INTERFACE:${LLVMGenXIntrinsics_BINARY_DIR}/GenXIntrinsics/include>
46-
)
47-
endif()
9+
# Date: May 29, 2025
10+
# Use OneNthEltsVecArgument instead of HalfVecArguments to fix build failure.
11+
set(LLVMGenXIntrinsics_GIT_TAG 60cea7590bd022d95f5cf336ee765033bd114d69)
12+
if(NOT FETCHCONTENT_SOURCE_DIR_VC-INTRINSICS)
13+
message(STATUS "vc-intrinsics repo is missing. Will try to download "
14+
"${LLVMGenXIntrinsics_GIT_TAG} from ${LLVMGenXIntrinsics_GIT_REPO}")
15+
endif()
16+
include(FetchContent)
17+
FetchContent_Declare(vc-intrinsics
18+
GIT_REPOSITORY ${LLVMGenXIntrinsics_GIT_REPO}
19+
GIT_TAG ${LLVMGenXIntrinsics_GIT_TAG}
20+
)
21+
FetchContent_MakeAvailable(vc-intrinsics)
22+
FetchContent_GetProperties(vc-intrinsics)
23+
else()
24+
message(STATUS "vc-intrinsics found in system at ${LLVMGenXIntrinsics_DIR}")
25+
endif()
4826
endif (NOT TARGET LLVMGenXIntrinsics)
4927

5028
add_llvm_component_library(LLVMSYCLLowerIR
@@ -88,8 +66,6 @@ add_llvm_component_library(LLVMSYCLLowerIR
8866

8967
ADDITIONAL_HEADER_DIRS
9068
${LLVM_MAIN_INCLUDE_DIR}/llvm/SYCLLowerIR
91-
${LLVM_MAIN_SRC_DIR}/projects/vc-intrinsics/GenXIntrinsics/include
92-
${LLVM_BINARY_DIR}/projects/vc-intrinsics/GenXIntrinsics/include
9369

9470
DEPENDS
9571
intrinsics_gen
@@ -114,10 +90,6 @@ add_llvm_component_library(LLVMSYCLLowerIR
11490
ipo
11591
)
11692

117-
target_include_directories(LLVMSYCLLowerIR
118-
PUBLIC $<BUILD_INTERFACE:${LLVMGenXIntrinsics_SOURCE_DIR}/GenXIntrinsics/include/>
119-
PUBLIC $<BUILD_INTERFACE:${LLVMGenXIntrinsics_BINARY_DIR}>
120-
)
12193
target_link_libraries(LLVMSYCLLowerIR
12294
PUBLIC LLVMGenXIntrinsics
12395
)

0 commit comments

Comments
 (0)