Skip to content

Commit b8b1b1e

Browse files
committed
Merge branch 'sycl' into e2e-split
2 parents b40fcf3 + 6456fe8 commit b8b1b1e

File tree

103 files changed

+848
-572
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+848
-572
lines changed

.github/workflows/sycl-linux-precommit.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ jobs:
162162
runner: '["Linux", "amdgpu"]'
163163
image: ghcr.io/intel/llvm/ubuntu2204_build:latest
164164
image_extra_opts: --device=/dev/dri --device=/dev/kfd
165-
extra_cmake_args: -DHIP_PLATFORM="AMD" -DAMD_ARCH="gfx1031"
166165
- name: CUDA system
167166
runner: '["Linux", "cuda"]'
168167
image: ghcr.io/intel/llvm/ubuntu2204_build:latest

.github/workflows/sycl-linux-run-tests.yml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ on:
2121
type: string
2222
required: True
2323
extra_cmake_args:
24-
description: |
25-
If empty, then HIP_PLATFORM and AMD_ARCH would be automatically added
26-
if inputs.target_devices contains 'ext_oneapi_hip'
2724
type: string
2825
required: False
2926
tests_selector:
@@ -282,16 +279,6 @@ jobs:
282279
run: |
283280
if [ -n "$CMAKE_EXTRA_ARGS" ]; then
284281
echo "opts=$CMAKE_EXTRA_ARGS" >> $GITHUB_OUTPUT
285-
else
286-
if [ "${{ contains(inputs.target_devices, 'ext_oneapi_hip') }}" == "true" ]; then
287-
if [ "${{ runner.name }}" == "cp-amd-runner" ]; then
288-
echo 'opts=-DHIP_PLATFORM="AMD" -DAMD_ARCH="gfx1030"' >> $GITHUB_OUTPUT
289-
else
290-
echo 'opts=-DHIP_PLATFORM="AMD" -DAMD_ARCH="gfx1031"' >> $GITHUB_OUTPUT
291-
fi
292-
else
293-
echo 'opts=' >> $GITHUB_OUTPUT
294-
fi
295282
fi
296283
- name: Configure E2E tests
297284
if: inputs.tests_selector == 'e2e'

clang/lib/Sema/SemaAccess.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ static AccessResult IsDerivedFromInclusive(const CXXRecordDecl *Derived,
301301
const CXXRecordDecl *Target) {
302302
assert(Derived->getCanonicalDecl() == Derived);
303303
assert(Target->getCanonicalDecl() == Target);
304+
assert(Derived->getDefinition() && "Expecting a complete type");
304305

305306
if (Derived == Target) return AR_accessible;
306307

@@ -776,6 +777,8 @@ static AccessResult HasAccess(Sema &S,
776777
// [B3] and [M3]
777778
} else {
778779
assert(Access == AS_protected);
780+
if (!ECRecord->getDefinition())
781+
continue;
779782
switch (IsDerivedFromInclusive(ECRecord, NamingClass)) {
780783
case AR_accessible: break;
781784
case AR_inaccessible: continue;

clang/test/SemaSYCL/attr-add-ir-attributes.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,3 +991,16 @@ struct __attribute__((sycl_special_class)) InvalidSpecialClassStruct32 {
991991
struct [[__sycl_detail__::add_ir_attributes_kernel_parameter("Attr1", 1)]] InvalidKernelParameterSubjectStruct; // expected-error {{'add_ir_attributes_kernel_parameter' attribute only applies to parameters}}
992992
[[__sycl_detail__::add_ir_attributes_kernel_parameter("Attr1", 1)]] void InvalidKernelParameterSubjectFunction() {} // expected-error {{'add_ir_attributes_kernel_parameter' attribute only applies to parameters}}
993993
[[__sycl_detail__::add_ir_attributes_kernel_parameter("Attr1", 1)]] int InvalidKernelParameterSubjectVar; // expected-error {{'add_ir_attributes_kernel_parameter' attribute only applies to parameters}}
994+
995+
struct A {
996+
protected:
997+
static constexpr const char *ir_attribute_name = ""; // expected-note {{declared protected here}}
998+
static constexpr auto ir_attribute_value = nullptr; // expected-note {{declared protected here}}
999+
};
1000+
1001+
template <typename Ts>
1002+
struct [[__sycl_detail__::add_ir_attributes_global_variable(
1003+
Ts::ir_attribute_name, Ts::ir_attribute_value)]] B { // expected-error {{'ir_attribute_name' is a protected member of 'A'}} // expected-error {{'ir_attribute_value' is a protected member of 'A'}}
1004+
};
1005+
1006+
B<A> v; // expected-note {{in instantiation of template class 'B<A>' requested here}}

clang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,6 +1359,9 @@ class BinaryWrapper {
13591359
ObjcopyPath = *ObjcopyPathOrErr;
13601360
}
13611361

1362+
BinaryWrapper(const BinaryWrapper &BW) = delete;
1363+
BinaryWrapper &operator=(const BinaryWrapper &BW) = delete;
1364+
13621365
~BinaryWrapper() {
13631366
if (TempFiles.empty())
13641367
return;

devops/dependencies-igc-dev.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"linux": {
33
"igc_dev": {
4-
"github_tag": "igc-dev-a20debc",
5-
"version": "a20debc",
6-
"updated_at": "2024-09-15T13:44:38Z",
7-
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/1934718090/zip",
4+
"github_tag": "igc-dev-ad75a20",
5+
"version": "ad75a20",
6+
"updated_at": "2024-11-10T01:11:34Z",
7+
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2167439771/zip",
88
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
99
}
1010
}

devops/scripts/install_drivers.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,9 @@ InstallIGFX () {
143143
echo "Download IGC dev git hash $IGC_DEV_VER"
144144
get_pre_release_igfx $IGC_DEV_URL $IGC_DEV_VER
145145
echo "Install IGC dev git hash $IGC_DEV_VER"
146-
dpkg -i *.deb
146+
# New dev IGC packaged iga64 conflicting with iga64 from intel-igc-media
147+
# force overwrite to workaround it first.
148+
dpkg -i --force-overwrite *.deb
147149
echo "Install libopencl-clang"
148150
# Workaround only, will download deb and install with dpkg once fixed.
149151
cp -d libopencl-clang.so.14* /usr/local/lib/
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# commit cd92e72bbc4ebddef63c63c0f7e66a410f4b9552
2-
# Merge: 9a209aa5 b1222f08
3-
# Author: Callum Fare <callum@codeplay.com>
4-
# Date: Wed Nov 13 09:57:16 2024 +0000
5-
# Merge pull request #2254 from PietroGhg/pietro/events_rr
6-
# [NATIVECPU] Implement events on Native CPU
7-
set(UNIFIED_RUNTIME_TAG cd92e72bbc4ebddef63c63c0f7e66a410f4b9552)
1+
# commit 3a5b23c8b475712f9107c1d5ab41f27a1465578e
2+
# Merge: f9f71f17 1696524d
3+
# Author: Piotr Balcer <piotr.balcer@intel.com>
4+
# Date: Thu Nov 14 14:38:05 2024 +0100
5+
# Merge pull request #2253 from pbalcer/low-power-events
6+
# add low-power events experimental extension spec
7+
set(UNIFIED_RUNTIME_TAG 3a5b23c8b475712f9107c1d5ab41f27a1465578e)

sycl/include/sycl/ext/intel/esimd/memory_properties.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ class properties
7777
// Deduction guides
7878
template <typename... PropertyValueTs>
7979
properties(PropertyValueTs... props)
80-
-> properties<typename sycl::ext::oneapi::experimental::detail::Sorted<
81-
PropertyValueTs...>::type>;
80+
-> properties<typename sycl::ext::oneapi::experimental::detail::
81+
properties_sorter<PropertyValueTs...>::type>;
8282
#endif
8383

8484
/// The 'alignment' property is used to specify the alignment of memory

sycl/include/sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr.hpp

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,10 @@ template <typename... Ts>
5454
using contains_alignment =
5555
detail::ContainsProperty<alignment_key, std::tuple<Ts...>>;
5656

57-
// properties filter
58-
template <typename property_list, template <class...> typename filter>
59-
using PropertiesFilter =
60-
sycl::detail::boost::mp11::mp_copy_if<property_list, filter>;
61-
6257
// filter properties that are applied on annotations
63-
template <typename... Props>
64-
using annotation_filter =
65-
properties<PropertiesFilter<detail::properties_type_list<Props...>,
66-
propagateToPtrAnnotation>>;
58+
template <typename PropertyListTy>
59+
using annotation_filter = decltype(filter_properties<propagateToPtrAnnotation>(
60+
std::declval<PropertyListTy>()));
6761
} // namespace detail
6862

6963
template <typename I, typename P> struct annotationHelper {};
@@ -108,8 +102,8 @@ class annotated_ref<T, detail::properties_t<Props...>> {
108102
// implicit conversion with annotaion
109103
operator T() const {
110104
#ifdef __SYCL_DEVICE_ONLY__
111-
return annotationHelper<T, detail::annotation_filter<Props...>>::load(
112-
m_Ptr);
105+
return annotationHelper<
106+
T, detail::annotation_filter<property_list_t>>::load(m_Ptr);
113107
#else
114108
return *m_Ptr;
115109
#endif
@@ -119,8 +113,8 @@ class annotated_ref<T, detail::properties_t<Props...>> {
119113
template <class O, typename = std::enable_if_t<!detail::is_ann_ref_v<O>>>
120114
T operator=(O &&Obj) const {
121115
#ifdef __SYCL_DEVICE_ONLY__
122-
return annotationHelper<T, detail::annotation_filter<Props...>>::store(
123-
m_Ptr, Obj);
116+
return annotationHelper<
117+
T, detail::annotation_filter<property_list_t>>::store(m_Ptr, Obj);
124118
#else
125119
return *m_Ptr = std::forward<O>(Obj);
126120
#endif
@@ -385,8 +379,8 @@ __SYCL_TYPE(annotated_ptr) annotated_ptr<T, detail::properties_t<Props...>> {
385379

386380
T *get() const noexcept {
387381
#ifdef __SYCL_DEVICE_ONLY__
388-
return annotationHelper<T, detail::annotation_filter<Props...>>::annotate(
389-
m_Ptr);
382+
return annotationHelper<
383+
T, detail::annotation_filter<property_list_t>>::annotate(m_Ptr);
390384
#else
391385
return m_Ptr;
392386
#endif

0 commit comments

Comments
 (0)