Skip to content

Commit 19d2d98

Browse files
authored
[SYCL][libdevice] Simplify SYCL libdevice cmake file. (intel#6037)
* Remove unused header in fallback-complex.h. * Add add_fallback_devicelib to simplify further. * Group each devicelib objs/spvs in following order: 1. itt objs 2. other objs 3. other spvs Signed-off-by: jinge90 <ge.jin@intel.com>
1 parent 40cece3 commit 19d2d98

6 files changed

+79
-257
lines changed

libdevice/cmake/modules/SYCLLibdevice.cmake

+71-251
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ set(obj_binary_dir "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
22
if (WIN32)
33
set(lib-suffix obj)
44
set(spv_binary_dir "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
5+
set(install_dest_spv bin)
56
else()
67
set(lib-suffix o)
78
set(spv_binary_dir "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
9+
set(install_dest_spv lib${LLVM_LIBDIR_SUFFIX})
810
endif()
11+
set(install_dest_lib lib${LLVM_LIBDIR_SUFFIX})
912
set(clang $<TARGET_FILE:clang>)
1013

1114
string(CONCAT sycl_targets_opt
@@ -22,266 +25,83 @@ set(compile_opts
2225
# Disable warnings for the host compilation, where
2326
# we declare all functions as 'static'.
2427
-Wno-undefined-internal
25-
# Force definition of CL_SYCL_LANGUAGE_VERSION, as long as
26-
# SYCL specific code is guarded by it.
27-
-sycl-std=2017
28+
-sycl-std=2020
2829
)
2930

3031
if (WIN32)
3132
list(APPEND compile_opts -D_ALLOW_RUNTIME_LIBRARY_MISMATCH)
3233
list(APPEND compile_opts -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH)
3334
endif()
3435

35-
set(devicelib-obj-file ${obj_binary_dir}/libsycl-crt.${lib-suffix})
36-
add_custom_command(OUTPUT ${devicelib-obj-file}
37-
COMMAND ${clang} -fsycl -c
38-
${compile_opts} ${sycl_targets_opt}
39-
${CMAKE_CURRENT_SOURCE_DIR}/crt_wrapper.cpp
40-
-o ${devicelib-obj-file}
41-
MAIN_DEPENDENCY crt_wrapper.cpp
42-
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
43-
VERBATIM)
44-
45-
set(devicelib-obj-complex ${obj_binary_dir}/libsycl-complex.${lib-suffix})
46-
add_custom_command(OUTPUT ${devicelib-obj-complex}
47-
COMMAND ${clang} -fsycl -c
48-
${compile_opts} ${sycl_targets_opt}
49-
${CMAKE_CURRENT_SOURCE_DIR}/complex_wrapper.cpp
50-
-o ${devicelib-obj-complex}
51-
MAIN_DEPENDENCY complex_wrapper.cpp
52-
DEPENDS device_complex.h device.h sycl-compiler
53-
VERBATIM)
54-
55-
set(devicelib-obj-complex-fp64 ${obj_binary_dir}/libsycl-complex-fp64.${lib-suffix})
56-
add_custom_command(OUTPUT ${devicelib-obj-complex-fp64}
57-
COMMAND ${clang} -fsycl -c
58-
${compile_opts} ${sycl_targets_opt}
59-
${CMAKE_CURRENT_SOURCE_DIR}/complex_wrapper_fp64.cpp
60-
-o ${devicelib-obj-complex-fp64}
61-
MAIN_DEPENDENCY complex_wrapper_fp64.cpp
62-
DEPENDS device_complex.h device.h sycl-compiler
63-
VERBATIM)
64-
65-
set(devicelib-obj-cmath ${obj_binary_dir}/libsycl-cmath.${lib-suffix})
66-
add_custom_command(OUTPUT ${devicelib-obj-cmath}
67-
COMMAND ${clang} -fsycl -c
68-
${compile_opts} ${sycl_targets_opt}
69-
${CMAKE_CURRENT_SOURCE_DIR}/cmath_wrapper.cpp
70-
-o ${devicelib-obj-cmath}
71-
MAIN_DEPENDENCY cmath_wrapper.cpp
72-
DEPENDS device_math.h device.h sycl-compiler
73-
VERBATIM)
74-
75-
set(devicelib-obj-cmath-fp64 ${obj_binary_dir}/libsycl-cmath-fp64.${lib-suffix})
76-
add_custom_command(OUTPUT ${devicelib-obj-cmath-fp64}
77-
COMMAND ${clang} -fsycl -c
78-
${compile_opts} ${sycl_targets_opt}
79-
${CMAKE_CURRENT_SOURCE_DIR}/cmath_wrapper_fp64.cpp
80-
-o ${devicelib-obj-cmath-fp64}
81-
MAIN_DEPENDENCY cmath_wrapper_fp64.cpp
82-
DEPENDS device_math.h device.h sycl-compiler
83-
VERBATIM)
84-
85-
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cassert.spv
86-
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
87-
${compile_opts}
88-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cassert.cpp
89-
-o ${spv_binary_dir}/libsycl-fallback-cassert.spv
90-
MAIN_DEPENDENCY fallback-cassert.cpp
91-
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
92-
VERBATIM)
93-
94-
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cstring.spv
95-
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
96-
${compile_opts}
97-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cstring.cpp
98-
-o ${spv_binary_dir}/libsycl-fallback-cstring.spv
99-
MAIN_DEPENDENCY fallback-cstring.cpp
100-
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
101-
VERBATIM)
102-
103-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
104-
COMMAND ${clang} -fsycl -c
105-
${compile_opts} ${sycl_targets_opt}
106-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cassert.cpp
107-
-o ${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
108-
MAIN_DEPENDENCY fallback-cassert.cpp
109-
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
110-
VERBATIM)
111-
112-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
113-
COMMAND ${clang} -fsycl -c
114-
${compile_opts} ${sycl_targets_opt}
115-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cstring.cpp
116-
-o ${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
117-
MAIN_DEPENDENCY fallback-cstring.cpp
118-
DEPENDS wrapper.h device.h spirv_vars.h sycl-compiler
119-
VERBATIM)
120-
121-
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-complex.spv
122-
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
123-
${compile_opts}
124-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex.cpp
125-
-o ${spv_binary_dir}/libsycl-fallback-complex.spv
126-
MAIN_DEPENDENCY fallback-complex.cpp
127-
DEPENDS device_math.h device_complex.h device.h sycl-compiler
128-
VERBATIM)
129-
130-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
131-
COMMAND ${clang} -fsycl -c
132-
${compile_opts} ${sycl_targets_opt}
133-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex.cpp
134-
-o ${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
135-
MAIN_DEPENDENCY fallback-complex.cpp
136-
DEPENDS device_math.h device_complex.h device.h sycl-compiler
137-
VERBATIM)
138-
139-
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
140-
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
141-
${compile_opts}
142-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex-fp64.cpp
143-
-o ${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
144-
MAIN_DEPENDENCY fallback-complex-fp64.cpp
145-
DEPENDS device_math.h device_complex.h device.h sycl-compiler
146-
VERBATIM)
147-
148-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
149-
COMMAND ${clang} -fsycl -c
150-
${compile_opts} ${sycl_targets_opt}
151-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-complex-fp64.cpp
152-
-o ${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
153-
MAIN_DEPENDENCY fallback-complex-fp64.cpp
154-
DEPENDS device_math.h device_complex.h device.h sycl-compiler
155-
VERBATIM)
156-
157-
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cmath.spv
158-
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
159-
${compile_opts}
160-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath.cpp
161-
-o ${spv_binary_dir}/libsycl-fallback-cmath.spv
162-
MAIN_DEPENDENCY fallback-cmath.cpp
163-
DEPENDS device_math.h device.h sycl-compiler
164-
VERBATIM)
165-
166-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
167-
COMMAND ${clang} -fsycl -c
168-
${compile_opts} ${sycl_targets_opt}
169-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath.cpp
170-
-o ${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
171-
MAIN_DEPENDENCY fallback-cmath.cpp
172-
DEPENDS device_math.h device.h sycl-compiler
173-
VERBATIM)
36+
add_custom_target(libsycldevice-obj)
37+
add_custom_target(libsycldevice-spv)
17438

175-
add_custom_command(OUTPUT ${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
176-
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
177-
${compile_opts}
178-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath-fp64.cpp
179-
-o ${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
180-
MAIN_DEPENDENCY fallback-cmath-fp64.cpp
181-
DEPENDS device_math.h device.h sycl-compiler
182-
VERBATIM)
183-
184-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-suffix}
185-
COMMAND ${clang} -fsycl -c
186-
${compile_opts} ${sycl_targets_opt}
187-
${CMAKE_CURRENT_SOURCE_DIR}/fallback-cmath-fp64.cpp
188-
-o ${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-suffix}
189-
MAIN_DEPENDENCY fallback-cmath-fp64.cpp
190-
DEPENDS device_math.h device.h sycl-compiler
191-
VERBATIM)
192-
193-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-stubs.${lib-suffix}
194-
COMMAND ${clang} -fsycl -c
195-
${compile_opts} ${sycl_targets_opt}
196-
${CMAKE_CURRENT_SOURCE_DIR}/itt_stubs.cpp
197-
-o ${obj_binary_dir}/libsycl-itt-stubs.${lib-suffix}
198-
MAIN_DEPENDENCY itt_stubs.cpp
199-
DEPENDS device_itt.h spirv_vars.h device.h sycl-compiler
200-
VERBATIM)
201-
202-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-compiler-wrappers.${lib-suffix}
203-
COMMAND ${clang} -fsycl -c
204-
${compile_opts} ${sycl_targets_opt}
205-
${CMAKE_CURRENT_SOURCE_DIR}/itt_compiler_wrappers.cpp
206-
-o ${obj_binary_dir}/libsycl-itt-compiler-wrappers.${lib-suffix}
207-
MAIN_DEPENDENCY itt_compiler_wrappers.cpp
208-
DEPENDS device_itt.h spirv_vars.h device.h sycl-compiler
209-
VERBATIM)
210-
211-
add_custom_command(OUTPUT ${obj_binary_dir}/libsycl-itt-user-wrappers.${lib-suffix}
212-
COMMAND ${clang} -fsycl -c
213-
${compile_opts} ${sycl_targets_opt}
214-
${CMAKE_CURRENT_SOURCE_DIR}/itt_user_wrappers.cpp
215-
-o ${obj_binary_dir}/libsycl-itt-user-wrappers.${lib-suffix}
216-
MAIN_DEPENDENCY itt_user_wrappers.cpp
217-
DEPENDS device_itt.h spirv_vars.h device.h sycl-compiler
218-
VERBATIM)
219-
220-
set(devicelib-obj-itt-files
221-
${obj_binary_dir}/libsycl-itt-stubs.${lib-suffix}
222-
${obj_binary_dir}/libsycl-itt-compiler-wrappers.${lib-suffix}
223-
${obj_binary_dir}/libsycl-itt-user-wrappers.${lib-suffix}
224-
)
225-
226-
add_custom_target(libsycldevice-obj DEPENDS
227-
${devicelib-obj-file}
228-
${devicelib-obj-complex}
229-
${devicelib-obj-complex-fp64}
230-
${devicelib-obj-cmath}
231-
${devicelib-obj-cmath-fp64}
232-
${devicelib-obj-itt-files}
233-
)
234-
add_custom_target(libsycldevice-spv DEPENDS
235-
${spv_binary_dir}/libsycl-fallback-cassert.spv
236-
${spv_binary_dir}/libsycl-fallback-cstring.spv
237-
${spv_binary_dir}/libsycl-fallback-complex.spv
238-
${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
239-
${spv_binary_dir}/libsycl-fallback-cmath.spv
240-
${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
241-
)
242-
add_custom_target(libsycldevice-fallback-obj DEPENDS
243-
${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
244-
${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
245-
${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
246-
${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
247-
${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
248-
${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-suffix}
249-
)
25039
add_custom_target(libsycldevice DEPENDS
25140
libsycldevice-obj
252-
libsycldevice-fallback-obj
25341
libsycldevice-spv)
25442

255-
# Place device libraries near the libsycl.so library in an install
256-
# directory as well
257-
if (WIN32)
258-
set(install_dest_spv bin)
259-
else()
260-
set(install_dest_spv lib${LLVM_LIBDIR_SUFFIX})
261-
endif()
262-
263-
set(install_dest_lib lib${LLVM_LIBDIR_SUFFIX})
264-
265-
install(FILES ${devicelib-obj-file}
266-
${obj_binary_dir}/libsycl-fallback-cassert.${lib-suffix}
267-
${obj_binary_dir}/libsycl-fallback-cstring.${lib-suffix}
268-
${devicelib-obj-complex}
269-
${obj_binary_dir}/libsycl-fallback-complex.${lib-suffix}
270-
${devicelib-obj-complex-fp64}
271-
${obj_binary_dir}/libsycl-fallback-complex-fp64.${lib-suffix}
272-
${devicelib-obj-cmath}
273-
${obj_binary_dir}/libsycl-fallback-cmath.${lib-suffix}
274-
${devicelib-obj-cmath-fp64}
275-
${obj_binary_dir}/libsycl-fallback-cmath-fp64.${lib-suffix}
276-
${devicelib-obj-itt-files}
277-
DESTINATION ${install_dest_lib}
278-
COMPONENT libsycldevice)
279-
280-
install(FILES ${spv_binary_dir}/libsycl-fallback-cassert.spv
281-
${spv_binary_dir}/libsycl-fallback-cstring.spv
282-
${spv_binary_dir}/libsycl-fallback-complex.spv
283-
${spv_binary_dir}/libsycl-fallback-complex-fp64.spv
284-
${spv_binary_dir}/libsycl-fallback-cmath.spv
285-
${spv_binary_dir}/libsycl-fallback-cmath-fp64.spv
286-
DESTINATION ${install_dest_spv}
287-
COMPONENT libsycldevice)
43+
function(add_devicelib_obj obj_filename)
44+
cmake_parse_arguments(OBJ "" "" "SRC;DEP" ${ARGN})
45+
set(devicelib-obj-file ${obj_binary_dir}/${obj_filename}.${lib-suffix})
46+
add_custom_command(OUTPUT ${devicelib-obj-file}
47+
COMMAND ${clang} -fsycl -c
48+
${compile_opts} ${sycl_targets_opt}
49+
${CMAKE_CURRENT_SOURCE_DIR}/${OBJ_SRC}
50+
-o ${devicelib-obj-file}
51+
MAIN_DEPENDENCY ${OBJ_SRC}
52+
DEPENDS ${OBJ_DEP}
53+
VERBATIM)
54+
set(devicelib-obj-target ${obj_filename}-obj)
55+
add_custom_target(${devicelib-obj-target} DEPENDS ${devicelib-obj-file})
56+
add_dependencies(libsycldevice-obj ${devicelib-obj-target})
57+
install(FILES ${devicelib-obj-file}
58+
DESTINATION ${install_dest_lib}
59+
COMPONENT libsycldevice)
60+
endfunction()
61+
62+
function(add_devicelib_spv spv_filename)
63+
cmake_parse_arguments(SPV "" "" "SRC;DEP" ${ARGN})
64+
set(devicelib-spv-file ${spv_binary_dir}/${spv_filename}.spv)
65+
add_custom_command(OUTPUT ${devicelib-spv-file}
66+
COMMAND ${clang} -fsycl-device-only -fno-sycl-use-bitcode
67+
${compile_opts}
68+
${CMAKE_CURRENT_SOURCE_DIR}/${SPV_SRC}
69+
-o ${devicelib-spv-file}
70+
MAIN_DEPENDENCY ${SPV_SRC}
71+
DEPENDS ${SPV_DEP}
72+
VERBATIM)
73+
set(devicelib-spv-target ${spv_filename}-spv)
74+
add_custom_target(${devicelib-spv-target} DEPENDS ${devicelib-spv-file})
75+
add_dependencies(libsycldevice-spv ${devicelib-spv-target})
76+
install(FILES ${devicelib-spv-file}
77+
DESTINATION ${install_dest_spv}
78+
COMPONENT libsycldevice)
79+
endfunction()
80+
81+
function(add_fallback_devicelib fallback_filename)
82+
cmake_parse_arguments(FB "" "" "SRC;DEP" ${ARGN})
83+
add_devicelib_spv(${fallback_filename} SRC ${FB_SRC} DEP ${FB_DEP})
84+
add_devicelib_obj(${fallback_filename} SRC ${FB_SRC} DEP ${FB_DEP})
85+
endfunction()
86+
87+
set(crt_obj_deps wrapper.h device.h spirv_vars.h sycl-compiler)
88+
set(complex_obj_deps device_complex.h device.h sycl-compiler)
89+
set(cmath_obj_deps device_math.h device.h sycl-compiler)
90+
set(itt_obj_deps device_itt.h spirv_vars.h device.h sycl-compiler)
91+
92+
add_devicelib_obj(libsycl-itt-stubs SRC itt_stubs.cpp DEP ${itt_obj_deps})
93+
add_devicelib_obj(libsycl-itt-compiler-wrappers SRC itt_compiler_wrappers.cpp DEP ${itt_obj_deps})
94+
add_devicelib_obj(libsycl-itt-user-wrappers SRC itt_user_wrappers.cpp DEP ${itt_obj_deps})
95+
96+
add_devicelib_obj(libsycl-crt SRC crt_wrapper.cpp DEP ${crt_obj_deps})
97+
add_devicelib_obj(libsycl-complex SRC complex_wrapper.cpp DEP ${complex_obj_deps})
98+
add_devicelib_obj(libsycl-complex-fp64 SRC complex_wrapper_fp64.cpp DEP ${complex_obj_deps} )
99+
add_devicelib_obj(libsycl-cmath SRC cmath_wrapper.cpp DEP ${cmath_obj_deps})
100+
add_devicelib_obj(libsycl-cmath-fp64 SRC cmath_wrapper_fp64.cpp DEP ${cmath_obj_deps} )
101+
102+
add_fallback_devicelib(libsycl-fallback-cassert SRC fallback-cassert.cpp DEP ${crt_obj_deps})
103+
add_fallback_devicelib(libsycl-fallback-cstring SRC fallback-cstring.cpp DEP ${crt_obj_deps})
104+
add_fallback_devicelib(libsycl-fallback-complex SRC fallback-complex.cpp DEP ${complex_obj_deps})
105+
add_fallback_devicelib(libsycl-fallback-complex-fp64 SRC fallback-complex-fp64.cpp DEP ${complex_obj_deps} )
106+
add_fallback_devicelib(libsycl-fallback-cmath SRC fallback-cmath.cpp DEP ${cmath_obj_deps})
107+
add_fallback_devicelib(libsycl-fallback-cmath-fp64 SRC fallback-cmath-fp64.cpp DEP ${cmath_obj_deps})

libdevice/cmath_wrapper_fp64.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
//==--- cmath_wrapper.cpp - wrappers for C math library functions ----------==//
1+
//==--- cmath_wrapper_fp64.cpp - wrappers for double precision C math library
2+
// functions ----------==//
23
//
34
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
45
// See https://llvm.org/LICENSE.txt for license information.

libdevice/complex_wrapper_fp64.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
//==--- complex_wrapper.cpp - wrappers for C99 complex math functions ------==//
1+
//==--- complex_wrapper_fp64.cpp - wrappers for double precision C99 complex
2+
// math functions ------==//
23
//
34
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
45
// See https://llvm.org/LICENSE.txt for license information.

libdevice/fallback-cmath-fp64.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
//==--- fallback-cmath.cpp - fallback implementation of math functions -----==//
1+
//==--- fallback-cmath-fp64.cpp - fallback implementation of double precision
2+
// math functions -----==//
23
//
34
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
45
// See https://llvm.org/LICENSE.txt for license information.

libdevice/fallback-complex-fp64.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
//==----- fallback-complex.cpp - complex math functions for SPIR-V device --==//
1+
//==----- fallback-complex-fp64.cpp - double precision complex math functions
2+
// for SPIR-V device --==//
23
//
34
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
45
// See https://llvm.org/LICENSE.txt for license information.
@@ -7,7 +8,6 @@
78
//===----------------------------------------------------------------------===//
89

910
#include "device_complex.h"
10-
#include "device_math.h"
1111

1212
#ifdef __SPIR__
1313
#include <cmath>

libdevice/fallback-complex.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
//===----------------------------------------------------------------------===//
88

99
#include "device_complex.h"
10-
#include "device_math.h"
1110

1211
#ifdef __SPIR__
1312
#include <cmath>

0 commit comments

Comments
 (0)