@@ -13,50 +13,104 @@ set(IGC_BUILD__PROJ_LABEL__GenISAIntrinsics "${IGC_BUILD__PROJ__GenISAIntrinsics
13
13
14
14
include_directories ("${CMAKE_CURRENT_SOURCE_DIR} " )
15
15
16
- # IntrinsicGenISA.gen is generated by python script and will be included
17
- # by GenIntrinsics.h
18
- set (_fileOutput "${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR} /IntrinsicGenISA.gen" )
16
+ set (IGC_BUILD__GenISAIntrinsics_GENERATOR_INPUT_MODULES
17
+ "${CMAKE_CURRENT_SOURCE_DIR} /Intrinsic_definitions.py"
18
+ )
19
+
20
+ set (IGC_BUILD__GenISAIntrinsics_GENERATOR_SCRIPTS
21
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/generate_intrinsic_files.py"
22
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/Intrinsic_definition_objects.py"
23
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/Intrinsic_definition_translation.py"
24
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/Intrinsic_generator.py"
25
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/Intrinsic_utils.py"
26
+ )
27
+
28
+ set (IGC_BUILD__GenISAIntrinsics_GENERATOR_TEMPLATES
29
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/templates/GenIntrinsicDescription.h.mako"
30
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/templates/GenIntrinsicDefinition.cpp.mako"
31
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/templates/GenIntrinsicDefinition.h.mako"
32
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/templates/GenIntrinsicEnum.h.mako"
33
+ "${CMAKE_CURRENT_SOURCE_DIR} /generator/templates/GenIntrinsicLookupTable.h.mako"
34
+ )
35
+
36
+ set (IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_HEADERS
37
+ "${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR} /GenIntrinsicDescription.h"
38
+ "${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR} /GenIntrinsicDefinition.h"
39
+ "${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR} /GenIntrinsicEnum.h"
40
+ "${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR} /GenIntrinsicLookupTable.h"
41
+ )
42
+
43
+ set (IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_SOURCES
44
+ "${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR} /GenIntrinsicDefinition.cpp"
45
+ )
46
+
47
+ add_custom_command (
48
+ OUTPUT
49
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_HEADERS}
50
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_SOURCES}
51
+ COMMAND
52
+ ${CMAKE_COMMAND} -E env "PYTHONPATH=${BS_DIR_EXTERNAL_COMPONENTS} /build-tools/python-site-packages"
53
+ ${PYTHON_EXECUTABLE} generate_intrinsic_files.py
54
+ "${IGC_BUILD__GenISAIntrinsics_GENERATOR_INPUT_MODULES} " --output ${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR}
55
+ $< $< NOT:$< CONFIG:Release> > :"--use_comments">
56
+ DEPENDS
57
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_INPUT_MODULES}
58
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_SCRIPTS}
59
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_TEMPLATES}
60
+ WORKING_DIRECTORY
61
+ ${CMAKE_CURRENT_SOURCE_DIR} /generator
62
+ COMMAND_EXPAND_LISTS
63
+ )
64
+
65
+ add_custom_target (IntrinsicDefintionGenerator
66
+ DEPENDS
67
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_HEADERS}
68
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_SOURCES}
69
+ SOURCES
70
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_INPUT_MODULES}
71
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_SCRIPTS}
72
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_TEMPLATES}
73
+ )
74
+
75
+ source_group (
76
+ TREE
77
+ ${CMAKE_CURRENT_SOURCE_DIR}
78
+ FILES
79
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_INPUT_MODULES}
80
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_SCRIPTS}
81
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_TEMPLATES}
82
+ )
83
+
84
+ set_property (TARGET IntrinsicDefintionGenerator PROPERTY FOLDER "CommonGenerators" )
19
85
20
86
set (IGC_BUILD__SRC__GenISAIntrinsics
87
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_SOURCES}
21
88
"${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsics.cpp"
89
+ "${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsicFunctions.cpp"
90
+ "${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsicLookup.cpp"
91
+ "${CMAKE_CURRENT_SOURCE_DIR} /LlvmTypesMapping.cpp"
22
92
)
23
93
24
94
set (IGC_BUILD__HDR__GenISAIntrinsics
95
+ ${IGC_BUILD__GenISAIntrinsics_GENERATOR_OUTPUT_HEADERS}
25
96
"${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsicInst.h"
26
97
"${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsics.h"
27
- "${_fileOutput} "
98
+ "${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsicFunctions.h"
99
+ "${CMAKE_CURRENT_SOURCE_DIR} /GenIntrinsicLookup.h"
100
+ "${CMAKE_CURRENT_SOURCE_DIR} /LlvmTypesMapping.h"
28
101
)
29
102
30
103
add_library ("${IGC_BUILD__PROJ__GenISAIntrinsics} " STATIC
31
104
${IGC_BUILD__SRC__GenISAIntrinsics}
32
105
${IGC_BUILD__HDR__GenISAIntrinsics}
33
- "${CMAKE_CURRENT_SOURCE_DIR} /Intrinsic_definitions.py"
34
106
)
107
+ target_include_directories ("${IGC_BUILD__PROJ__GenISAIntrinsics} "
108
+ PRIVATE
109
+ ${IGC_OPTION__OUTPUT_DIR} /${IGC_CMAKE_CFG_INTDIR}
110
+ )
35
111
set_property (TARGET "${IGC_BUILD__PROJ__GenISAIntrinsics} " PROPERTY
36
112
PROJECT_LABEL "${IGC_BUILD__PROJ_LABEL__GenISAIntrinsics} " )
37
113
38
- # ===========================================================================
39
- # ===================================== BUILD STEP CONFIGURATION ============
40
- # ===========================================================================
41
-
42
-
43
- set (_intrinsicScript "${IGC_SOURCE_DIR} /GenISAIntrinsics/Intrinsics.py" )
44
-
45
- set (_InstCmdline )
46
- set (_fileInput "Intrinsic_definitions.py" )
47
-
48
- list (APPEND _InstCmdline ${_fileInput} )
49
- add_custom_command (OUTPUT "${_fileOutput} "
50
- COMMAND "${PYTHON_EXECUTABLE} "
51
- ARGS ${_intrinsicScript} ${_InstCmdline} ${_fileOutput}
52
- DEPENDS "${_intrinsicScript} " ${_fileInput}
53
- COMMENT "Generating Gen intrinsic definition file: ${_fileOutput} "
54
- )
55
- add_custom_target ("Gen${IGC_BUILD__PROJ__GenISAIntrinsics} "
56
- DEPENDS "${_fileOutput} "
57
- )
58
- add_dependencies ("${IGC_BUILD__PROJ__GenISAIntrinsics} " "Gen${IGC_BUILD__PROJ__GenISAIntrinsics} " )
59
-
60
114
#set up standard defines from the common WDK path.
61
115
if (MSVC )
62
116
bs_set_wdk (${IGC_BUILD__PROJ__GenISAIntrinsics} )
0 commit comments