@@ -39,16 +39,17 @@ set(BUILTINS_INCLUDE_DIR ${TargetDir} PARENT_SCOPE)
39
39
set (BUILTIN_CPP "" )
40
40
41
41
# Define function for compiling built-ins (with cloc)
42
- function (compile_builtin gen_name builtin )
43
- set (OUTPUTDIR "${BUILTINS_OUTDIR_WITH_ARCH} /${gen_name} " )
44
-
42
+ function (compile_builtin gen_type platform_type builtin )
43
+ string (TOLOWER ${gen_type} gen_type_lower )
44
+ get_family_name_with_type (${gen_type} ${platform_type} )
45
+ set (OUTPUTDIR "${BUILTINS_OUTDIR_WITH_ARCH} /${gen_type_lower} " )
45
46
# get filename
46
47
get_filename_component (FILENAME ${builtin} NAME )
47
48
48
49
# get name of the file w/o extension
49
50
get_filename_component (BASENAME ${builtin} NAME_WE )
50
51
51
- set (OUTPUTPATH_BASE "${OUTPUTDIR} /${BASENAME} _${gen_name } " )
52
+ set (OUTPUTPATH_BASE "${OUTPUTDIR} /${BASENAME} _${family_name_with_type } " )
52
53
set (OUTPUT_FILES
53
54
${OUTPUTPATH_BASE} .bc
54
55
${OUTPUTPATH_BASE} .bin
@@ -59,48 +60,38 @@ function(compile_builtin gen_name builtin)
59
60
# function returns builtin cpp filename
60
61
unset (BUILTIN_CPP )
61
62
# set variable outside function
62
- set (BUILTIN_CPP built_ins/${NEO_ARCH}/${gen_name}/${BASENAME}_${gen_name}.cpp PARENT_SCOPE )
63
-
64
- if (MSVC )
65
- add_custom_command (
66
- OUTPUT ${OUTPUT_FILES}
67
- COMMAND cloc -q -file ${FILENAME} -device ${gen_name} ${BUILTIN_OPTIONS} -${NEO_BITS} -out_dir ${OUTPUTDIR} -cpp_file -options "-cl-kernel-arg-info ${BUILTIN_DEBUG_OPTION} "
68
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
69
- DEPENDS ${builtin} cloc copy_compiler_files
70
- )
63
+ set (BUILTIN_CPP built_ins/${NEO_ARCH}/${gen_type_lower}/${BASENAME}_${family_name_with_type}.cpp PARENT_SCOPE )
64
+ if (WIN32 )
65
+ set (cloc_cmd_prefix cloc )
71
66
else ()
72
- add_custom_command (
73
- OUTPUT ${OUTPUT_FILES}
74
- COMMAND LD_LIBRARY_PATH=$<TARGET_FILE_DIR:cloc> $< TARGET_FILE:cloc> -q -file ${FILENAME} -device ${gen_name} ${BUILTIN_OPTIONS} -${NEO_BITS} -out_dir ${OUTPUTDIR} -cpp_file -options "-cl-kernel-arg-info ${BUILTIN_DEBUG_OPTION} "
75
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
76
- DEPENDS ${builtin} cloc copy_compiler_files
77
- )
67
+ set (cloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:cloc> $< TARGET_FILE:cloc> )
78
68
endif ()
69
+ add_custom_command (
70
+ OUTPUT ${OUTPUT_FILES}
71
+ COMMAND ${cloc_cmd_prefix} -q -file ${FILENAME} -device ${DEFAULT_SUPPORTED_${gen_type}_${platform_type}_PLATFORM} ${BUILTIN_OPTIONS} -${NEO_BITS} -out_dir ${OUTPUTDIR} -cpp_file -options "-cl-kernel-arg-info ${BUILTIN_DEBUG_OPTION} "
72
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
73
+ DEPENDS ${builtin} cloc copy_compiler_files
74
+ )
79
75
endfunction ()
80
76
81
- macro (compile_builtins GEN_TYPE PLATFORM_IT )
82
- string (TOLOWER ${PLATFORM_IT} PLATFORM_LOWER )
83
- string (CONCAT GEN "_" ${GEN_TYPE} "_" ${PLATFORM_IT} )
84
-
85
- set (BUILTINS_COMMANDS )
86
- foreach (GENERATED_BUILTIN ${GENERATED_BUILTINS} )
87
- compile_builtin (${PLATFORM_LOWER} ${GENERATED_BUILTIN} .igdrcl_built_in )
88
- list (APPEND BUILTINS_COMMANDS ${TargetDir} /${BUILTIN_CPP} )
89
- set (RUNTIME_GENERATED_${GENERATED_BUILTIN}${GEN} ${BUILTIN_CPP} PARENT_SCOPE )
90
- endforeach ()
91
-
92
- set (target_name builtins_${PLATFORM_LOWER} )
93
- add_custom_target (${target_name} DEPENDS ${BUILTINS_COMMANDS} )
94
- add_dependencies (builtins ${target_name} )
95
- set_target_properties (${target_name} PROPERTIES FOLDER "built_ins/${PLATFORM_LOWER} " )
96
- endmacro ()
97
-
98
- macro (macro_for_each_platform )
99
- compile_builtins (${GEN_TYPE_LOWER} ${PLATFORM_IT} )
100
- endmacro ()
101
-
102
77
macro (macro_for_each_gen )
103
- apply_macro_for_each_platform ()
78
+ foreach (PLATFORM_TYPE "CORE" "LP" )
79
+ if (${GEN_TYPE} _HAS_${PLATFORM_TYPE} )
80
+ get_family_name_with_type (${GEN_TYPE} ${PLATFORM_TYPE} )
81
+ string (TOLOWER ${PLATFORM_TYPE} PLATFORM_TYPE_LOWER )
82
+ unset (BUILTINS_COMMANDS )
83
+ foreach (GENERATED_BUILTIN ${GENERATED_BUILTINS} )
84
+ compile_builtin (${GEN_TYPE} ${PLATFORM_TYPE} ${GENERATED_BUILTIN} .igdrcl_built_in )
85
+ list (APPEND BUILTINS_COMMANDS ${TargetDir} /${BUILTIN_CPP} )
86
+ set (RUNTIME_GENERATED_${GENERATED_BUILTIN}_${family_name_with_type} ${BUILTIN_CPP} PARENT_SCOPE )
87
+ endforeach ()
88
+
89
+ set (target_name builtins_${family_name_with_type} )
90
+ add_custom_target (${target_name} DEPENDS ${BUILTINS_COMMANDS} )
91
+ add_dependencies (builtins ${target_name} )
92
+ set_target_properties (${target_name} PROPERTIES FOLDER "built_ins/${family_name_with_type} " )
93
+ endif ()
94
+ endforeach ()
104
95
endmacro ()
105
96
106
97
apply_macro_for_each_gen ("SUPPORTED" )
0 commit comments