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