diff --git a/sycl/source/detail/device_binary_image.cpp b/sycl/source/detail/device_binary_image.cpp index a1d89ed845da2..beb9bae0dd0f1 100644 --- a/sycl/source/detail/device_binary_image.cpp +++ b/sycl/source/detail/device_binary_image.cpp @@ -178,6 +178,11 @@ void RTDeviceBinaryImage::init(sycl_device_binary Bin) { KernelParamOptInfo.init(Bin, __SYCL_PROPERTY_SET_KERNEL_PARAM_OPT_INFO); AssertUsed.init(Bin, __SYCL_PROPERTY_SET_SYCL_ASSERT_USED); ProgramMetadata.init(Bin, __SYCL_PROPERTY_SET_PROGRAM_METADATA); + // Convert ProgramMetadata into the UR format + for (const auto &Prop : ProgramMetadata) { + ProgramMetadataUR.push_back( + ur::mapDeviceBinaryPropertyToProgramMetadata(Prop)); + } ExportedSymbols.init(Bin, __SYCL_PROPERTY_SET_SYCL_EXPORTED_SYMBOLS); ImportedSymbols.init(Bin, __SYCL_PROPERTY_SET_SYCL_IMPORTED_SYMBOLS); DeviceGlobals.init(Bin, __SYCL_PROPERTY_SET_SYCL_DEVICE_GLOBALS); diff --git a/sycl/source/detail/program_manager/program_manager.cpp b/sycl/source/detail/program_manager/program_manager.cpp index ab0eb8a00f13a..92c5e9ed8f132 100644 --- a/sycl/source/detail/program_manager/program_manager.cpp +++ b/sycl/source/detail/program_manager/program_manager.cpp @@ -500,11 +500,9 @@ std::pair ProgramManager::getOrCreateURProgram( // Get program metadata from properties std::vector ProgMetadataVector; for (const RTDeviceBinaryImage *Img : AllImages) { - auto ProgMetadata = Img->getProgramMetadata(); - for (const auto &Prop : ProgMetadata) { - ProgMetadataVector.push_back( - ur::mapDeviceBinaryPropertyToProgramMetadata(Prop)); - } + auto &ImgProgMetadata = Img->getProgramMetadataUR(); + ProgMetadataVector.insert(ProgMetadataVector.end(), + ImgProgMetadata.begin(), ImgProgMetadata.end()); } // TODO: Build for multiple devices once supported by program manager NativePrg = createBinaryProgram(getSyclObjImpl(Context), Device, diff --git a/sycl/test-e2e/Basic/reqd_work_group_size.cpp b/sycl/test-e2e/Basic/reqd_work_group_size.cpp index f52ab51a4f8d4..d3fbe1621c757 100644 --- a/sycl/test-e2e/Basic/reqd_work_group_size.cpp +++ b/sycl/test-e2e/Basic/reqd_work_group_size.cpp @@ -1,9 +1,6 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// TODO: Reenable, see https://github.com/intel/llvm/issues/14598 -// UNSUPPORTED: linux, windows - #include #include diff --git a/sycl/test-e2e/DeviceGlobal/device_global_arrow.cpp b/sycl/test-e2e/DeviceGlobal/device_global_arrow.cpp index 24b0437f2a35c..ffcadf8667bda 100644 --- a/sycl/test-e2e/DeviceGlobal/device_global_arrow.cpp +++ b/sycl/test-e2e/DeviceGlobal/device_global_arrow.cpp @@ -3,8 +3,7 @@ // // The OpenCL GPU backends do not currently support device_global backend // calls. -// TODO: Reenable linux/windows, see https://github.com/intel/llvm/issues/14598 -// UNSUPPORTED: opencl && gpu, linux, windows +// UNSUPPORTED: opencl && gpu // // Tests operator-> on device_global. diff --git a/sycl/test-e2e/DeviceGlobal/device_global_device_only.cpp b/sycl/test-e2e/DeviceGlobal/device_global_device_only.cpp index 07ea4f0ec94b4..ac2894c13c855 100644 --- a/sycl/test-e2e/DeviceGlobal/device_global_device_only.cpp +++ b/sycl/test-e2e/DeviceGlobal/device_global_device_only.cpp @@ -3,8 +3,7 @@ // // The OpenCL GPU backends do not currently support device_global backend // calls. -// TODO: Reenable linux/windows, see https://github.com/intel/llvm/issues/14598 -// UNSUPPORTED: opencl && gpu, linux, windows +// UNSUPPORTED: opencl && gpu // // Tests basic device_global access through device kernels. diff --git a/sycl/test-e2e/DeviceGlobal/device_global_operator_passthrough.cpp b/sycl/test-e2e/DeviceGlobal/device_global_operator_passthrough.cpp index c98a22b851df6..b687bb4c4365d 100644 --- a/sycl/test-e2e/DeviceGlobal/device_global_operator_passthrough.cpp +++ b/sycl/test-e2e/DeviceGlobal/device_global_operator_passthrough.cpp @@ -3,8 +3,7 @@ // // The OpenCL GPU backends do not currently support device_global backend // calls. -// TODO: Reenable linux/windows, see https://github.com/intel/llvm/issues/14598 -// UNSUPPORTED: opencl && gpu, linux, windows +// UNSUPPORTED: opencl && gpu // // Tests the passthrough of operators on device_global. diff --git a/sycl/test-e2e/DeviceGlobal/device_global_subscript.cpp b/sycl/test-e2e/DeviceGlobal/device_global_subscript.cpp index e519db2894993..cec40fafd61f3 100644 --- a/sycl/test-e2e/DeviceGlobal/device_global_subscript.cpp +++ b/sycl/test-e2e/DeviceGlobal/device_global_subscript.cpp @@ -3,8 +3,7 @@ // // The OpenCL GPU backends do not currently support device_global backend // calls. -// TODO: Reenable linux/windows, see https://github.com/intel/llvm/issues/14598 -// UNSUPPORTED: opencl && gpu, linux, windows +// UNSUPPORTED: opencl && gpu // // Tests operator[] on device_global. diff --git a/sycl/test-e2e/KernelFusion/lit.local.cfg b/sycl/test-e2e/KernelFusion/lit.local.cfg index cc77315a316ef..1d0db3020f754 100644 --- a/sycl/test-e2e/KernelFusion/lit.local.cfg +++ b/sycl/test-e2e/KernelFusion/lit.local.cfg @@ -1,8 +1,7 @@ import platform config.required_features += ['fusion'] -# TODO: Reenable hip, see https://github.com/intel/llvm/issues/14598 -config.unsupported_features += ['accelerator', 'hip'] +config.unsupported_features += ['accelerator'] # TODO: enable on Windows once kernel fusion is supported on Windows. if platform.system() != "Linux": diff --git a/sycl/test-e2e/NewOffloadDriver/diamond_shape.cpp b/sycl/test-e2e/NewOffloadDriver/diamond_shape.cpp index af760cb13c605..d3fb670b6bb75 100644 --- a/sycl/test-e2e/NewOffloadDriver/diamond_shape.cpp +++ b/sycl/test-e2e/NewOffloadDriver/diamond_shape.cpp @@ -1,6 +1,4 @@ // REQUIRES: fusion -// TODO: Reenable, see https://github.com/intel/llvm/issues/14598 -// UNSUPPORTED: hip // RUN: %{build} %{embed-ir} -O2 --offload-new-driver -o %t.out // RUN: %{run} %t.out