Skip to content

Commit 3207183

Browse files
pszymichigcbot
authored andcommitted
Synchronization between branches
1 parent 485a03a commit 3207183

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+347
-279
lines changed

IGC/VectorCompiler/lib/BiF/CMakeLists.txt

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#=========================== begin_copyright_notice ============================
22
#
3-
# Copyright (C) 2021-2023 Intel Corporation
3+
# Copyright (C) 2021-2025 Intel Corporation
44
#
55
# SPDX-License-Identifier: MIT
66
#
@@ -12,10 +12,14 @@ set(RESOURCE_EMBEDDER_SCRIPT ${IGC_SOURCE_DIR}/BiFModule/resource_embedder.py)
1212
set(VCB_EXE "vcb" CACHE STRING "")
1313

1414
set(PRINTF_COMMON ${CMAKE_CURRENT_SOURCE_DIR}/Print/common.h)
15-
vc_embed_bif(PRINTF_OCL_32 Print/ocl.cpp VCBiFPrintfOCL 32 DEPENDS ${PRINTF_COMMON})
16-
vc_embed_bif(PRINTF_OCL_64 Print/ocl.cpp VCBiFPrintfOCL 64 DEPENDS ${PRINTF_COMMON})
17-
vc_embed_bif(PRINTF_ZE_32 Print/ze.cpp VCBiFPrintfZE 32 DEPENDS ${PRINTF_COMMON})
18-
vc_embed_bif(PRINTF_ZE_64 Print/ze.cpp VCBiFPrintfZE 64 DEPENDS ${PRINTF_COMMON})
15+
vc_embed_bif(PRINTF_OCL_32_TYPED_PTRS Print/ocl.cpp VCBiFPrintfOCL 32 FALSE DEPENDS ${PRINTF_COMMON})
16+
vc_embed_bif(PRINTF_OCL_32_OPAQUE_PTRS Print/ocl.cpp VCBiFPrintfOCL 32 TRUE DEPENDS ${PRINTF_COMMON})
17+
vc_embed_bif(PRINTF_OCL_64_TYPED_PTRS Print/ocl.cpp VCBiFPrintfOCL 64 FALSE DEPENDS ${PRINTF_COMMON})
18+
vc_embed_bif(PRINTF_OCL_64_OPAQUE_PTRS Print/ocl.cpp VCBiFPrintfOCL 64 TRUE DEPENDS ${PRINTF_COMMON})
19+
vc_embed_bif(PRINTF_ZE_32_TYPED_PTRS Print/ze.cpp VCBiFPrintfZE 32 FALSE DEPENDS ${PRINTF_COMMON})
20+
vc_embed_bif(PRINTF_ZE_32_OPAQUE_PTRS Print/ze.cpp VCBiFPrintfZE 32 TRUE DEPENDS ${PRINTF_COMMON})
21+
vc_embed_bif(PRINTF_ZE_64_TYPED_PTRS Print/ze.cpp VCBiFPrintfZE 64 FALSE DEPENDS ${PRINTF_COMMON})
22+
vc_embed_bif(PRINTF_ZE_64_OPAQUE_PTRS Print/ze.cpp VCBiFPrintfZE 64 TRUE DEPENDS ${PRINTF_COMMON})
1923

2024
#Define the macro if Khronos SPIR-V translator is used.
2125
if(IGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_SC)
@@ -31,7 +35,10 @@ set(SPIRV_BUILTIN_SOURCES
3135
Spirv/exec.cpp
3236
Spirv/math.cpp)
3337

34-
vc_embed_bif(SPIRV_BUILTINS "${SPIRV_BUILTIN_SOURCES}" VCSPIRVBuiltins 64
38+
vc_embed_bif(SPIRV_BUILTINS_TYPED_PTRS "${SPIRV_BUILTIN_SOURCES}" VCSPIRVBuiltins 64 FALSE
39+
CLANG_INCLUDES ${IGC_SPIRV_HEADERS_INCLUDES}
40+
CLANG_FLAGS ${CLANG_FLAGS_FOR_SPIRV_BUILTINS})
41+
vc_embed_bif(SPIRV_BUILTINS_OPAQUE_PTRS "${SPIRV_BUILTIN_SOURCES}" VCSPIRVBuiltins 64 TRUE
3542
CLANG_INCLUDES ${IGC_SPIRV_HEADERS_INCLUDES}
3643
CLANG_FLAGS ${CLANG_FLAGS_FOR_SPIRV_BUILTINS})
3744

@@ -57,14 +64,21 @@ set(BUILTIN_SOURCES
5764

5865
Library/Atomics/Local/binop.cpp)
5966

60-
vc_embed_optimized_bif(BUILTINS "${BUILTIN_SOURCES}" VCBuiltins 64)
67+
vc_embed_optimized_bif(BUILTINS_TYPED_PTRS "${BUILTIN_SOURCES}" VCBuiltins 64 FALSE)
68+
vc_embed_optimized_bif(BUILTINS_OPAQUE_PTRS "${BUILTIN_SOURCES}" VCBuiltins 64 TRUE)
6169

62-
add_custom_target(VCBiFPreparation
63-
DEPENDS ${PRINTF_OCL_32} ${PRINTF_OCL_64} ${PRINTF_ZE_32} ${PRINTF_ZE_64}
64-
${BUILTINS} ${SPIRV_BUILTINS})
70+
set(BIF_OUTPUT_TYPED_PTRS ${PRINTF_OCL_32_TYPED_PTRS} ${PRINTF_OCL_64_TYPED_PTRS}
71+
${PRINTF_ZE_32_TYPED_PTRS} ${PRINTF_ZE_64_TYPED_PTRS}
72+
${BUILTINS_TYPED_PTRS} ${SPIRV_BUILTINS_TYPED_PTRS})
73+
set(BIF_OUTPUT_OPAQUE_PTRS ${PRINTF_OCL_32_OPAQUE_PTRS} ${PRINTF_OCL_64_OPAQUE_PTRS}
74+
${PRINTF_ZE_32_OPAQUE_PTRS} ${PRINTF_ZE_64_OPAQUE_PTRS}
75+
${BUILTINS_OPAQUE_PTRS} ${SPIRV_BUILTINS_OPAQUE_PTRS})
6576

66-
add_library(VCEmbeddedBiF OBJECT
67-
${PRINTF_OCL_32} ${PRINTF_OCL_64} ${PRINTF_ZE_32} ${PRINTF_ZE_64}
68-
${BUILTINS} ${SPIRV_BUILTINS})
77+
add_custom_target(VCBiFPreparation DEPENDS ${BIF_OUTPUT_TYPED_PTRS} ${BIF_OUTPUT_OPAQUE_PTRS})
78+
if(IGC_OPTION__API_ENABLE_OPAQUE_POINTERS)
79+
add_library(VCEmbeddedBiF OBJECT ${BIF_OUTPUT_OPAQUE_PTRS})
80+
else()
81+
add_library(VCEmbeddedBiF OBJECT ${BIF_OUTPUT_TYPED_PTRS})
82+
endif()
6983
add_dependencies(VCEmbeddedBiF VCBiFPreparation)
7084
target_link_libraries(VCEmbeddedBiF VCHeaders)

IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake

Lines changed: 54 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
#=========================== begin_copyright_notice ============================
22
#
3-
# Copyright (C) 2021-2023 Intel Corporation
3+
# Copyright (C) 2021-2025 Intel Corporation
44
#
55
# SPDX-License-Identifier: MIT
66
#
77
#============================ end_copyright_notice =============================
88

9-
set(OPT_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_DEFAULT_ARG_OPT})
10-
119
# Args:
1210
# RES_LIST - generated list
1311
# REQUIRED_TARGET - target to link with
@@ -31,8 +29,9 @@ endfunction()
3129
# Args:
3230
# RES_FILE - variable name to put generated file path into.
3331
# CMCL_SRC_PATH - multivalue. path to CMCL sources.
34-
# BIF_NAME - name for all the generated files without extension.
32+
# MANGLED_BIF_NAME - name for all the generated files without extension.
3533
# PTR_BIT_SIZE - bit size of a pointer, 32 or 64 are allowed.
34+
# OPAQUE_PTRS - use opaque pointers during the generation.
3635
#
3736
# Optional arguments:
3837
# CLANG_INCLUDES - Argument representing extra include directories passed to
@@ -41,7 +40,7 @@ endfunction()
4140
# DEPENDS - multivalue. Can be used to establish file-level dependency.
4241
# Useful if we want to have a dependency from auto-generated files
4342
# that are created by some other target(s).
44-
function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
43+
function(vc_build_bif RES_FILE CMCL_SRC_PATH MANGLED_BIF_NAME PTR_BIT_SIZE OPAQUE_PTRS)
4544
cmake_parse_arguments(PARSE_ARGV 4
4645
EXTRA
4746
""
@@ -51,12 +50,22 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
5150
if((NOT (${PTR_BIT_SIZE} EQUAL 32)) AND (NOT (${PTR_BIT_SIZE} EQUAL 64)))
5251
message(FATAL_ERROR "vc_build_bif: wrong argument: PTR_BIT_SIZE = ${PTR_BIT_SIZE}: ptr size can only be 32 or 64")
5352
endif()
54-
set(MANGLED_BIF_NAME ${BIF_NAME}${PTR_BIT_SIZE})
55-
set(BIF_CLANG_BC_NAME_FINAL ${MANGLED_BIF_NAME}.clang.bc)
53+
if (OPAQUE_PTRS)
54+
set(OPT_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_ENABLE_OPT})
55+
set(CLANG_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_ENABLE_CLANG})
56+
set(OPAQUE_SUFFIX "opaque")
57+
set(TARGET_NAME "${MANGLED_BIF_NAME}OpaquePtrs-BC")
58+
else()
59+
set(OPT_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_DISABLE_OPT})
60+
set(CLANG_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_DISABLE_CLANG})
61+
set(OPAQUE_SUFFIX "typed")
62+
set(TARGET_NAME "${MANGLED_BIF_NAME}TypedPtrs-BC")
63+
endif()
64+
set(BIF_CLANG_BC_NAME_FINAL ${MANGLED_BIF_NAME}.${OPAQUE_SUFFIX}.clang.bc)
5665
set(BIF_CLANG_BC_PATH_FINAL ${CMAKE_CURRENT_BINARY_DIR}/${BIF_CLANG_BC_NAME_FINAL})
57-
set(BIF_CMCL_BC_NAME ${MANGLED_BIF_NAME}.cmcl.bc)
66+
set(BIF_CMCL_BC_NAME ${MANGLED_BIF_NAME}.${OPAQUE_SUFFIX}.cmcl.bc)
5867
set(BIF_CMCL_BC_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BIF_CMCL_BC_NAME})
59-
set(BIF_OPT_BC_NAME ${MANGLED_BIF_NAME}.opt.bc)
68+
set(BIF_OPT_BC_NAME ${MANGLED_BIF_NAME}.${OPAQUE_SUFFIX}.opt.bc)
6069
set(BIF_OPT_BC_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BIF_OPT_BC_NAME})
6170

6271
if(EXTRA_DEPENDS)
@@ -80,30 +89,24 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
8089
endif()
8190
file(RELATIVE_PATH SRC_NAME ${CMAKE_CURRENT_SOURCE_DIR} ${CMCL_SRC})
8291
if (LENGTH_CMCL_SRC_PATH GREATER 1)
83-
set(BIF_CLANG_BC_NAME ${SRC_NAME}.${PTR_BIT_SIZE}.clang.bc)
92+
set(BIF_CLANG_BC_NAME ${SRC_NAME}.${PTR_BIT_SIZE}.${OPAQUE_SUFFIX}.clang.bc)
8493
else()
8594
set(BIF_CLANG_BC_NAME ${BIF_CLANG_BC_NAME_FINAL})
8695
endif()
8796
set(BIF_CLANG_BC_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BIF_CLANG_BC_NAME})
8897
get_filename_component(BIF_CLANG_BC_PATH_DIR ${BIF_CLANG_BC_PATH} DIRECTORY)
8998

90-
set(SPECIAL_CLANG_ARG "")
91-
if (OPT_OPAQUE_ARG)
92-
set(SPECIAL_CLANG_ARG -mllvm ${OPT_OPAQUE_ARG} )
93-
endif()
94-
9599
add_custom_command(OUTPUT "${BIF_CLANG_BC_PATH}"
96100
COMMAND ${CMAKE_COMMAND} -E make_directory ${BIF_CLANG_BC_PATH_DIR}
97101
COMMAND clang-tool -cc1 ${CMCL_INCLUDES} ${VC_INCLUDES}
98-
${EXTRA_CLANG_INCLUDES} ${SPECIAL_CLANG_ARG} ${IGC_BUILD__OPAQUE_POINTERS_DEFAULT_ARG_CLANG} ${EXTRA_CLANG_FLAGS}
102+
${EXTRA_CLANG_INCLUDES} ${CLANG_OPAQUE_ARG} ${EXTRA_CLANG_FLAGS}
99103
-x cl -cl-std=clc++ -triple=${SPIR_TARGET}
100104
-O2 -disable-llvm-passes -discard-value-names -emit-llvm-bc -o "${BIF_CLANG_BC_PATH}" ${CMCL_SRC}
101105
COMMENT "vc_build_bif: Compiling CMCL source ${CMCL_SRC} to BC ${BIF_CLANG_BC_NAME}"
102106
DEPENDS clang-tool "${CMCL_SRC}" ${EXTRA_DEPENDS}
103107
COMMAND_EXPAND_LISTS)
104108
list(APPEND BC_PATH_LIST ${BIF_CLANG_BC_PATH})
105109
endforeach()
106-
107110
set(OPT_BC_DEPENDS ${BC_PATH_LIST})
108111
if (LENGTH_CMCL_SRC_PATH GREATER 1)
109112
add_custom_command(OUTPUT ${BIF_CLANG_BC_PATH_FINAL}
@@ -113,15 +116,14 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
113116
COMMAND_EXPAND_LISTS)
114117
set(OPT_BC_DEPENDS ${BIF_CLANG_BC_PATH_FINAL})
115118
endif()
116-
117119
add_custom_command(
118120
OUTPUT ${BIF_OPT_BC_PATH}
119121
COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}"
120122
COMMAND CMCLTranslatorTool ${OPT_OPAQUE_ARG} -o ${BIF_CMCL_BC_PATH} ${BIF_CLANG_BC_PATH_FINAL}
121123
COMMAND ${LLVM_OPT_EXE} ${OPT_OPAQUE_ARG} --O2 -o ${BIF_OPT_BC_PATH} ${BIF_CMCL_BC_PATH}
122124
DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${OPT_BC_DEPENDS})
123125

124-
add_custom_target(${TARGET}
126+
add_custom_target(${TARGET_NAME}
125127
DEPENDS ${BIF_OPT_BC_PATH}
126128
SOURCES ${CMCL_SRC_PATH})
127129
set(${RES_FILE} ${BIF_OPT_BC_PATH} PARENT_SCOPE)
@@ -137,9 +139,16 @@ endfunction()
137139
# RES_FILE - variable name to put generated file path into.
138140
# BIF_OPT_BC_PATH - path to the binary data that needs to be embedded.
139141
# MANGLED_BIF_NAME - the desired name for the embeddable source file.
142+
# OPAQUE_PTRS - use opaque pointers during the generation.
140143
# Path to resulting CPP source code is stored in the specified cmake variable.
141-
function(vc_generate_embeddable_source TARGET RES_FILE BIF_OPT_BC_PATH MANGLED_BIF_NAME)
142-
set(BIF_CPP_NAME ${MANGLED_BIF_NAME}.cpp)
144+
function(vc_generate_embeddable_source RES_FILE BIF_OPT_BC_PATH MANGLED_BIF_NAME OPAQUE_PTRS)
145+
if (OPAQUE_PTRS)
146+
set(BIF_CPP_NAME "${MANGLED_BIF_NAME}.opaque.cpp")
147+
set(TARGET_NAME "${MANGLED_BIF_NAME}OpaquePtrs")
148+
else()
149+
set(BIF_CPP_NAME "${MANGLED_BIF_NAME}.typed.cpp")
150+
set(TARGET_NAME "${MANGLED_BIF_NAME}TypedPtrs")
151+
endif()
143152
set(BIF_CPP_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BIF_CPP_NAME})
144153
file(RELATIVE_PATH BIF_OPT_BC_NAME ${CMAKE_CURRENT_BINARY_DIR} ${BIF_OPT_BC_PATH})
145154
set(BIF_SYMBOL ${MANGLED_BIF_NAME}RawData)
@@ -150,7 +159,7 @@ function(vc_generate_embeddable_source TARGET RES_FILE BIF_OPT_BC_PATH MANGLED_B
150159
COMMAND ${PYTHON_EXECUTABLE} ${RESOURCE_EMBEDDER_SCRIPT} ${BIF_OPT_BC_PATH} ${BIF_CPP_PATH} ${BIF_SYMBOL} no_attr
151160
DEPENDS ${PYTHON_EXECUTABLE} ${RESOURCE_EMBEDDER_SCRIPT} ${BIF_OPT_BC_PATH})
152161

153-
add_custom_target(${TARGET}
162+
add_custom_target(${TARGET_NAME}
154163
DEPENDS ${BIF_CPP_PATH})
155164
set(${RES_FILE} ${BIF_CPP_PATH} PARENT_SCOPE)
156165
endfunction()
@@ -172,25 +181,34 @@ endfunction()
172181
# RES_FILE - variable name to put generated file path into.
173182
# BIF_OPT_BC_PATH - path to generic library (in a form of bitcode).
174183
# MANGLED_BIF_NAME - the desired name for the generated source file.
184+
# OPAQUE_PTRS - use opaque pointers during the generation.
175185
# Path to resulting CPP source code is stored in the specified cmake variable.
176-
function(vc_generate_optimized_bif TARGET RES_FILE BIF_OPT_BC_PATH MANGLED_BIF_NAME)
177-
set(BIF_CPP_NAME ${MANGLED_BIF_NAME}.cpp)
186+
function(vc_generate_optimized_bif RES_FILE BIF_OPT_BC_PATH MANGLED_BIF_NAME OPAQUE_PTRS)
187+
if (OPAQUE_PTRS)
188+
set(OPT_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_ENABLE_OPT})
189+
set(OPAQUE_SUFFIX "opaque")
190+
set(TARGET_NAME "${MANGLED_BIF_NAME}OpaquePtrs")
191+
else()
192+
set(OPT_OPAQUE_ARG ${IGC_BUILD__OPAQUE_POINTERS_DISABLE_OPT})
193+
set(OPAQUE_SUFFIX "typed")
194+
set(TARGET_NAME "${MANGLED_BIF_NAME}TypedPtrs")
195+
endif()
196+
set(BIF_CPP_NAME ${MANGLED_BIF_NAME}.${OPAQUE_SUFFIX}.cpp)
178197
set(BIF_CPP_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BIF_CPP_NAME})
179198
set(BIF_SYMBOL ${MANGLED_BIF_NAME}RawData)
180-
set(BIF_CONF_NAME "${MANGLED_BIF_NAME}.conf")
199+
set(BIF_CONF_NAME "${MANGLED_BIF_NAME}.${OPAQUE_SUFFIX}.conf")
181200
set(BIF_CONF_PATH ${CMAKE_CURRENT_BINARY_DIR}/${BIF_CONF_NAME})
182201
set(PLTF_BC_PATH_LIST "")
183202

184-
185203
foreach(PLTF IN LISTS SUPPORTED_VC_PLATFORMS)
186-
set(PLTF_BC_NAME "${MANGLED_BIF_NAME}_${PLTF}.vccg.bc")
204+
set(PLTF_BC_NAME "${MANGLED_BIF_NAME}_${PLTF}.${OPAQUE_SUFFIX}.vccg.bc")
187205
set(PLTF_BC_PATH ${CMAKE_CURRENT_BINARY_DIR}/${PLTF_BC_NAME})
188206
add_custom_command(
189207
OUTPUT ${PLTF_BC_PATH}
190208
COMMENT "vc_generate_optimized_bif: compile optimized BiF for ${PLTF}"
191209
COMMAND ${VCB_EXE} ${OPT_OPAQUE_ARG} -o ${PLTF_BC_PATH} -cpu ${PLTF} ${BIF_OPT_BC_PATH}
192210
DEPENDS ${VCB_EXE} ${BIF_OPT_BC_PATH})
193-
add_custom_target("${TARGET}-${PLTF}-BC"
211+
add_custom_target("${TARGET_NAME}-${PLTF}-BC"
194212
DEPENDS ${PLTF_BC_PATH})
195213
list(APPEND PLTF_BC_PATH_LIST ${PLTF_BC_PATH})
196214
endforeach()
@@ -202,7 +220,7 @@ function(vc_generate_optimized_bif TARGET RES_FILE BIF_OPT_BC_PATH MANGLED_BIF_N
202220
COMMENT "vc_generate_optimized_bif: create hashed version of optimized functions"
203221
COMMAND ${VCB_EXE} -BiFUnique -symb ${BIF_SYMBOL} -o ${BIF_CPP_PATH} ${BIF_CONF_PATH}
204222
DEPENDS ${VCB_EXE} ${BIF_CONF_PATH} ${PLTF_BC_PATH_LIST})
205-
add_custom_target(${TARGET}
223+
add_custom_target(${TARGET_NAME}
206224
DEPENDS ${BIF_CPP_PATH})
207225
set(${RES_FILE} ${BIF_CPP_PATH} PARENT_SCOPE)
208226
endfunction()
@@ -211,19 +229,18 @@ endfunction()
211229
# containing the resulting LLVM bitcode (as a C array).
212230
# See vc_build_bif and vc_generate_embeddable_source for more details.
213231
# Path to resulting CPP source code is stored in the specified cmake variable.
214-
function(vc_embed_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
215-
216-
cmake_parse_arguments(PARSE_ARGV 4
232+
function(vc_embed_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE OPAQUE_PTRS)
233+
cmake_parse_arguments(PARSE_ARGV 5
217234
EXTRA
218235
""
219236
"CLANG_INCLUDES;CLANG_FLAGS"
220237
"DEPENDS")
221238
set(MANGLED_BIF_NAME ${BIF_NAME}${PTR_BIT_SIZE})
222-
vc_build_bif("${BIF_NAME}${PTR_BIT_SIZE}-BC" RES_FILE_VC_EMBED "${CMCL_SRC_PATH}" "${BIF_NAME}" "${PTR_BIT_SIZE}"
239+
vc_build_bif(RES_FILE_VC_EMBED "${CMCL_SRC_PATH}" "${MANGLED_BIF_NAME}" "${PTR_BIT_SIZE}" "${OPAQUE_PTRS}"
223240
CLANG_INCLUDES "${EXTRA_CLANG_INCLUDES}"
224241
CLANG_FLAGS "${EXTRA_CLANG_FLAGS}"
225242
DEPENDS "${EXTRA_DEPENDS}")
226-
vc_generate_embeddable_source("${BIF_NAME}${PTR_BIT_SIZE}" RES_FILE_EMBED_GEN "${RES_FILE_VC_EMBED}" "${MANGLED_BIF_NAME}")
243+
vc_generate_embeddable_source(RES_FILE_EMBED_GEN "${RES_FILE_VC_EMBED}" "${MANGLED_BIF_NAME}" "${OPAQUE_PTRS}")
227244
set(${RES_FILE} ${RES_FILE_EMBED_GEN} PARENT_SCOPE)
228245
endfunction()
229246

@@ -232,10 +249,9 @@ endfunction()
232249
# platform-optimized version of the emulation library during the runtime.
233250
# See vc_build_bif and vc_generate_optimized_bif for details
234251
# Path to resulting CPP source code is stored in the specified cmake variable.
235-
function(vc_embed_optimized_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
252+
function(vc_embed_optimized_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE OPAQUE_PTRS)
236253
set(MANGLED_BIF_NAME ${BIF_NAME}${PTR_BIT_SIZE})
237-
vc_build_bif("${BIF_NAME}${PTR_BIT_SIZE}-BC" RES_FILE_VC_EMBED "${CMCL_SRC_PATH}" "${BIF_NAME}" "${PTR_BIT_SIZE}")
238-
vc_generate_optimized_bif("${BIF_NAME}${PTR_BIT_SIZE}" RES_FILE_EMBED_GEN "${RES_FILE_VC_EMBED}"
239-
"${MANGLED_BIF_NAME}")
254+
vc_build_bif(RES_FILE_VC_EMBED "${CMCL_SRC_PATH}" "${BIF_NAME}" "${PTR_BIT_SIZE}" "${OPAQUE_PTRS}")
255+
vc_generate_optimized_bif(RES_FILE_EMBED_GEN "${RES_FILE_VC_EMBED}" "${MANGLED_BIF_NAME}" "${OPAQUE_PTRS}")
240256
set(${RES_FILE} ${RES_FILE_EMBED_GEN} PARENT_SCOPE)
241257
endfunction()

IGC/VectorCompiler/test/GenXBuiltinFunctions/fdiv_f32.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
;=========================== begin_copyright_notice ============================
22
;
3-
; Copyright (C) 2021-2023 Intel Corporation
3+
; Copyright (C) 2021-2025 Intel Corporation
44
;
55
; SPDX-License-Identifier: MIT
66
;
77
;============================ end_copyright_notice =============================
88

99
; RUN: %opt %use_old_pass_manager% -GenXBuiltinFunctions -march=genx64 \
10-
; RUN: -vc-builtins-bif-path=%VC_BUILTINS_BIF_XeLPG% -mcpu=XeLPG \
10+
; RUN: -vc-builtins-bif-path=%VC_BIF_XeLPG% -mcpu=XeLPG \
1111
; RUN: -mtriple=spir64-unknown-unknown -S < %s 2>&1 | FileCheck %s
1212

1313
; RUN: %opt %use_old_pass_manager% -GenXBuiltinFunctions -march=genx64 \
14-
; RUN: -vc-builtins-bif-path=%VC_BUILTINS_BIF_XeHPC% -mcpu=XeHPC \
14+
; RUN: -vc-builtins-bif-path=%VC_BIF_XeHPC% -mcpu=XeHPC \
1515
; RUN: -mtriple=spir64-unknown-unknown -S < %s 2>&1 | FileCheck %s \
1616
; RUN: --check-prefix=CHECK-NOEMU
1717

@@ -26,4 +26,4 @@ define dllexport spir_kernel void @test_kernel(<32 x float> %l, <32 x float> %r)
2626
; CHECK-NOEMU: = call <32 x float> @llvm.genx.ieee.div.v32f32
2727
%2 = call <32 x float> @llvm.genx.ieee.div.v32f32(<32 x float> %l, <32 x float> %r)
2828
ret void
29-
}
29+
}

IGC/VectorCompiler/test/GenXBuiltinFunctions/fptoi_f16.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
;=========================== begin_copyright_notice ============================
22
;
3-
; Copyright (C) 2021-2023 Intel Corporation
3+
; Copyright (C) 2021-2025 Intel Corporation
44
;
55
; SPDX-License-Identifier: MIT
66
;
77
;============================ end_copyright_notice =============================
88

9-
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BUILTINS_BIF_XeLP% \
9+
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BIF_XeLP% \
1010
; RUN: -GenXBuiltinFunctions -march=genx64 -mtriple=spir64-unknown-unknown \
1111
; RUN: -mcpu=XeLP -S < %s | FileCheck %s
1212

13-
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BUILTINS_BIF_Gen9% \
13+
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BIF_Gen9% \
1414
; RUN: -GenXBuiltinFunctions -march=genx64 -mtriple=spir64-unknown-unknown \
1515
; RUN: -mcpu=Gen9 -S < %s | FileCheck %s --check-prefix=CHECK-NOEMU
1616

IGC/VectorCompiler/test/GenXBuiltinFunctions/fptoi_f32.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
;=========================== begin_copyright_notice ============================
22
;
3-
; Copyright (C) 2021-2023 Intel Corporation
3+
; Copyright (C) 2021-2025 Intel Corporation
44
;
55
; SPDX-License-Identifier: MIT
66
;
77
;============================ end_copyright_notice =============================
88

9-
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BUILTINS_BIF_XeLP% \
9+
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BIF_XeLP% \
1010
; RUN: -GenXBuiltinFunctions -march=genx64 -mtriple=spir64-unknown-unknown \
1111
; RUN: -mcpu=XeLP -S < %s | FileCheck %s
1212

13-
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BUILTINS_BIF_Gen9% \
13+
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BIF_Gen9% \
1414
; RUN: -GenXBuiltinFunctions -march=genx64 -mtriple=spir64-unknown-unknown \
1515
; RUN: -mcpu=Gen9 -S < %s | FileCheck %s --check-prefix=CHECK-NOEMU
1616

IGC/VectorCompiler/test/GenXBuiltinFunctions/fptoi_f64.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
;=========================== begin_copyright_notice ============================
22
;
3-
; Copyright (C) 2021-2023 Intel Corporation
3+
; Copyright (C) 2021-2025 Intel Corporation
44
;
55
; SPDX-License-Identifier: MIT
66
;
77
;============================ end_copyright_notice =============================
88

9-
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BUILTINS_BIF_XeLPG% \
9+
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BIF_XeLPG% \
1010
; RUN: -GenXBuiltinFunctions -march=genx64 -mtriple=spir64-unknown-unknown \
1111
; RUN: -mcpu=XeLPG -S < %s | FileCheck %s
1212

13-
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BUILTINS_BIF_Gen9% \
13+
; RUN: %opt %use_old_pass_manager% -vc-builtins-bif-path=%VC_BIF_Gen9% \
1414
; RUN: -GenXBuiltinFunctions -march=genx64 -mtriple=spir64-unknown-unknown \
1515
; RUN: -mcpu=Gen9 -S < %s | FileCheck %s --check-prefix=CHECK-NOEMU
1616

0 commit comments

Comments
 (0)