Skip to content

Commit edd6656

Browse files
committed
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
2 parents a3c60da + 8c63509 commit edd6656

31 files changed

+3081
-232
lines changed

sycl/include/sycl/ext/intel/esimd/detail/atomic_intrin.hpp

Lines changed: 0 additions & 218 deletions
This file was deleted.

sycl/include/sycl/ext/intel/experimental/esimd/detail/memory_intrin.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
#pragma once
1414

15-
#include <sycl/ext/intel/esimd/detail/atomic_intrin.hpp>
1615
#include <sycl/ext/intel/esimd/detail/defines_elementary.hpp>
1716
#include <sycl/ext/intel/esimd/detail/memory_intrin.hpp>
1817

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include <sycl/detail/defines.hpp>
1212
#include <sycl/ext/intel/experimental/fpga_annotated_properties.hpp>
13+
#include <sycl/ext/oneapi/experimental/annotated_ptr/annotated_ptr_properties.hpp>
1314
#include <sycl/ext/oneapi/experimental/common_annotated_properties/properties.hpp>
1415
#include <sycl/ext/oneapi/properties/properties.hpp>
1516
#include <sycl/ext/oneapi/properties/property.hpp>
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
//==-- annotated_ptr_properties.hpp - Specific properties of annotated_ptr
2+
//--==//
3+
//
4+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5+
// See https://llvm.org/LICENSE.txt for license information.
6+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7+
//
8+
//===----------------------------------------------------------------------===//
9+
10+
#pragma once
11+
12+
#include <sycl/ext/oneapi/properties/properties.hpp> // for properties_t
13+
#include <sycl/usm/usm_enums.hpp>
14+
15+
#include <type_traits> // for false_type, con...
16+
#include <utility> // for declval
17+
18+
namespace sycl {
19+
inline namespace _V1 {
20+
namespace ext {
21+
namespace oneapi {
22+
namespace experimental {
23+
24+
template <typename T, typename PropertyListT> class annotated_ptr;
25+
26+
struct usm_kind_key {
27+
template <sycl::usm::alloc Kind>
28+
using value_t =
29+
property_value<usm_kind_key,
30+
std::integral_constant<sycl::usm::alloc, Kind>>;
31+
};
32+
33+
template <sycl::usm::alloc Kind>
34+
inline constexpr usm_kind_key::value_t<Kind> usm_kind;
35+
inline constexpr usm_kind_key::value_t<sycl::usm::alloc::device>
36+
usm_kind_device;
37+
inline constexpr usm_kind_key::value_t<sycl::usm::alloc::host> usm_kind_host;
38+
inline constexpr usm_kind_key::value_t<sycl::usm::alloc::shared>
39+
usm_kind_shared;
40+
41+
template <> struct is_property_key<usm_kind_key> : std::true_type {};
42+
43+
template <typename T, sycl::usm::alloc Kind>
44+
struct is_valid_property<T, usm_kind_key::value_t<Kind>>
45+
: std::bool_constant<std::is_pointer<T>::value> {};
46+
47+
template <typename T, typename PropertyListT>
48+
struct is_property_key_of<usm_kind_key, annotated_ptr<T, PropertyListT>>
49+
: std::true_type {};
50+
51+
namespace detail {
52+
53+
template <> struct PropertyToKind<usm_kind_key> {
54+
static constexpr PropKind Kind = PropKind::UsmKind;
55+
};
56+
57+
template <> struct IsCompileTimeProperty<usm_kind_key> : std::true_type {};
58+
59+
template <sycl::usm::alloc Kind>
60+
struct PropertyMetaInfo<usm_kind_key::value_t<Kind>> {
61+
static constexpr const char *name = "sycl-usm-kind";
62+
static constexpr sycl::usm::alloc value = Kind;
63+
};
64+
65+
} // namespace detail
66+
67+
} // namespace experimental
68+
} // namespace oneapi
69+
} // namespace ext
70+
} // namespace _V1
71+
} // namespace sycl

0 commit comments

Comments
 (0)