@@ -23,6 +23,11 @@ def do_configure(args):
2323 libclc_amd_target_names = ';amdgcn--;amdgcn--amdhsa'
2424 libclc_nvidia_target_names = ';nvptx64--;nvptx64--nvidiacl'
2525
26+ sycl_enable_fusion = "OFF"
27+ if not args .disable_fusion :
28+ llvm_external_projects += ";sycl-fusion"
29+ sycl_enable_fusion = "ON"
30+
2631 if args .llvm_external_projects :
2732 llvm_external_projects += ";" + args .llvm_external_projects .replace ("," , ";" )
2833
@@ -32,6 +37,7 @@ def do_configure(args):
3237 xpti_dir = os .path .join (abs_src_dir , "xpti" )
3338 xptifw_dir = os .path .join (abs_src_dir , "xptifw" )
3439 libdevice_dir = os .path .join (abs_src_dir , "libdevice" )
40+ fusion_dir = os .path .join (abs_src_dir , "sycl-fusion" )
3541 llvm_targets_to_build = args .host_target
3642 llvm_enable_projects = 'clang;' + llvm_external_projects
3743 libclc_targets_to_build = ''
@@ -144,6 +150,7 @@ def do_configure(args):
144150 "-DXPTI_SOURCE_DIR={}" .format (xpti_dir ),
145151 "-DLLVM_EXTERNAL_XPTIFW_SOURCE_DIR={}" .format (xptifw_dir ),
146152 "-DLLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR={}" .format (libdevice_dir ),
153+ "-DLLVM_EXTERNAL_SYCL_FUSION_SOURCE_DIR={}" .format (fusion_dir ),
147154 "-DLLVM_ENABLE_PROJECTS={}" .format (llvm_enable_projects ),
148155 "-DLIBCLC_TARGETS_TO_BUILD={}" .format (libclc_targets_to_build ),
149156 "-DLIBCLC_GENERATE_REMANGLED_VARIANTS={}" .format (libclc_gen_remangled_variants ),
@@ -159,7 +166,8 @@ def do_configure(args):
159166 "-DLLVM_ENABLE_LLD={}" .format (llvm_enable_lld ),
160167 "-DXPTI_ENABLE_WERROR={}" .format (xpti_enable_werror ),
161168 "-DSYCL_CLANG_EXTRA_FLAGS={}" .format (sycl_clang_extra_flags ),
162- "-DSYCL_ENABLE_PLUGINS={}" .format (';' .join (set (sycl_enabled_plugins )))
169+ "-DSYCL_ENABLE_PLUGINS={}" .format (';' .join (set (sycl_enabled_plugins ))),
170+ "-DSYCL_ENABLE_KERNEL_FUSION={}" .format (sycl_enable_fusion )
163171 ]
164172
165173 if args .l0_headers and args .l0_loader :
@@ -238,6 +246,7 @@ def main():
238246 parser .add_argument ("--llvm-external-projects" , help = "Add external projects to build. Add as comma seperated list." )
239247 parser .add_argument ("--ci-defaults" , action = "store_true" , help = "Enable default CI parameters" )
240248 parser .add_argument ("--enable-plugin" , action = 'append' , help = "Enable SYCL plugin" )
249+ parser .add_argument ("--disable-fusion" , action = "store_true" , help = "Disable the kernel fusion JIT compiler" )
241250 args = parser .parse_args ()
242251
243252 print ("args:{}" .format (args ))
0 commit comments