@@ -1084,8 +1084,7 @@ class __SYCL_SPECIAL_CLASS __SYCL_TYPE(accessor) accessor :
1084
1084
void __init (ConcreteASPtrType Ptr, range<AdjustedDim> AccessRange,
1085
1085
range<AdjustedDim> MemRange, id<AdjustedDim> Offset) {
1086
1086
MData = Ptr;
1087
- #pragma unroll
1088
- for (int I = 0 ; I < AdjustedDim; ++I) {
1087
+ detail::dim_loop<AdjustedDim>([&, this ](size_t I) {
1089
1088
#if __cplusplus >= 201703L
1090
1089
if constexpr (!(PropertyListT::template has_property<
1091
1090
sycl::ext::oneapi::property::no_offset>())) {
@@ -1096,7 +1095,7 @@ class __SYCL_SPECIAL_CLASS __SYCL_TYPE(accessor) accessor :
1096
1095
#endif
1097
1096
getAccessRange ()[I] = AccessRange[I];
1098
1097
getMemoryRange ()[I] = MemRange[I];
1099
- }
1098
+ });
1100
1099
1101
1100
// Adjust for offsets as that part is invariant for all invocations of
1102
1101
// operator[]. Will have to re-adjust in get_pointer.
@@ -2415,9 +2414,8 @@ class __SYCL_SPECIAL_CLASS local_accessor_base :
2415
2414
void __init (ConcreteASPtrType Ptr, range<AdjustedDim> AccessRange,
2416
2415
range<AdjustedDim>, id<AdjustedDim>) {
2417
2416
MData = Ptr;
2418
- #pragma unroll
2419
- for (int I = 0 ; I < AdjustedDim; ++I)
2420
- getSize ()[I] = AccessRange[I];
2417
+ detail::dim_loop<AdjustedDim>(
2418
+ [&, this ](size_t I) { getSize ()[I] = AccessRange[I]; });
2421
2419
}
2422
2420
2423
2421
public:
0 commit comments