Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SYCLomatic] Refine template type arg redeclaration #2383

Merged
merged 14 commits into from
Oct 14, 2024
23 changes: 18 additions & 5 deletions clang/lib/DPCT/AnalysisInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5227,6 +5227,9 @@ KernelCallExpr::ArgInfo::ArgInfo(const ParmVarDecl *PVD,
KernelCallExpr *BASE)
: IsPointer(false), IsRedeclareRequired(false),
IsUsedAsLvalueAfterMalloc(Used), Index(Index) {
if (PVD &&
PVD->getType()->getTypeClass() == Type::TypeClass::SubstTemplateTypeParm)
IsDependentType = true;
if (isa<InitListExpr>(Arg)) {
HasImplicitConversion = true;
} else if (const auto *CCE = dyn_cast<CXXConstructExpr>(Arg)) {
Expand Down Expand Up @@ -5866,6 +5869,8 @@ void KernelCallExpr::buildArgsInfo(const CallExpr *CE) {
Analysis.setCallSpelling(KCallSpellingRange.first, KCallSpellingRange.second);
auto &TexList = getTextureObjectList();

const auto *FD = CE->getDirectCallee();
const auto *FTD = FD ? FD->getPrimaryTemplate() : nullptr;
for (unsigned Idx = 0; Idx < CE->getNumArgs(); ++Idx) {
if (auto Obj = TexList[Idx]) {
ArgsInfo.emplace_back(Obj, this);
Expand All @@ -5874,9 +5879,13 @@ void KernelCallExpr::buildArgsInfo(const CallExpr *CE) {
bool Used = true;
if (auto *ArgDRE = dyn_cast<DeclRefExpr>(Arg->IgnoreImpCasts()))
Used = isArgUsedAsLvalueUntil(ArgDRE, CE);
const auto FD = CE->getDirectCallee();
ArgsInfo.emplace_back(FD ? FD->parameters()[Idx] : nullptr, Analysis, Arg,
Used, Idx, this);
if (FTD && FTD->getTemplatedDecl()
->parameters()[Idx]
->getType()
->isDependentType())
ArgsInfo.back().IsDependentType = true;
}
}
}
Expand Down Expand Up @@ -6195,6 +6204,9 @@ void KernelCallExpr::buildKernelArgsStmt() {
if (Arg.IsDeviceRandomGeneratorType) {
TypeStr = TypeStr + " *";
}
if (Arg.IsDependentType) {
TypeStr = "decltype(" + Arg.getArgString() + ")";
}

if (DpctGlobalInfo::isOptimizeMigration() && getFuncInfo() &&
!(getFuncInfo()->isParameterReferenced(ArgCounter))) {
Expand All @@ -6208,7 +6220,7 @@ void KernelCallExpr::buildKernelArgsStmt() {
if (Arg.IsUsedAsLvalueAfterMalloc) {
requestFeature(HelperFeatureEnum::device_ext);
SubmitStmts.AccessorList.emplace_back(buildString(
MapNames::getDpctNamespace() + "access_wrapper<", TypeStr, "> ",
MapNames::getDpctNamespace() + "access_wrapper ",
Arg.getIdStringWithSuffix("acc"), "(", Arg.getArgString(),
Arg.IsDefinedOnDevice ? ".get_ptr()" : "", ", cgh);"));
KernelArgs += buildString(Arg.getIdStringWithSuffix("acc"),
Expand All @@ -6220,13 +6232,14 @@ void KernelCallExpr::buildKernelArgsStmt() {
" = " + MapNames::getDpctNamespace() + "get_access(",
Arg.getArgString(), Arg.IsDefinedOnDevice ? ".get_ptr()" : "",
", cgh);"));
KernelArgs += buildString("(", TypeStr, ")(&",
Arg.getIdStringWithSuffix("acc"), "[0])");
KernelArgs +=
buildString("&", Arg.getIdStringWithSuffix("acc"), "[0]");
}
}
} else if (Arg.IsRedeclareRequired || IsInMacroDefine) {
std::string TypeStr = "auto";
if (Arg.HasImplicitConversion && !Arg.getTypeString().empty()) {
if (Arg.HasImplicitConversion && !Arg.getTypeString().empty() &&
!Arg.IsDependentType) {
TypeStr = Arg.getTypeString();
}
SubmitStmts.CommandGroupList.emplace_back(
Expand Down
1 change: 1 addition & 0 deletions clang/lib/DPCT/AnalysisInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -2766,6 +2766,7 @@ class KernelCallExpr : public CallFunctionExpr {
bool IsDeviceRandomGeneratorType = false;
bool HasImplicitConversion = false;
bool IsDoublePointer = false;
bool IsDependentType = false;

std::shared_ptr<TextureObjectInfo> Texture;
};
Expand Down
23 changes: 17 additions & 6 deletions clang/runtime/dpct-rt/include/dpct/memory.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -915,7 +915,7 @@ static buffer_t get_buffer(const void *ptr) {
}

/// A wrapper class contains an accessor and an offset.
template <typename dataT,
template <typename PtrT,
sycl::access_mode accessMode = sycl::access_mode::read_write>
class access_wrapper {
sycl::accessor<byte_t, 1, accessMode> accessor;
Expand All @@ -931,11 +931,17 @@ class access_wrapper {
auto alloc = detail::mem_mgr::instance().translate_ptr(ptr);
offset = (byte_t *)ptr - alloc.alloc_ptr;
}
template <typename U = PtrT>
access_wrapper(
PtrT ptr, sycl::handler &cgh,
typename std::enable_if_t<!std::is_same_v<
std::remove_cv_t<std::remove_reference_t<U>>, void *>> * = 0)
: access_wrapper((const void *)ptr, cgh) {}

/// Get the device pointer.
///
/// \returns a device pointer with offset.
dataT get_raw_pointer() const { return (dataT)(&accessor[0] + offset); }
PtrT get_raw_pointer() const { return (PtrT)(&accessor[0] + offset); }
};

/// Get the accessor for memory pointed by \p ptr.
Expand All @@ -944,12 +950,17 @@ class access_wrapper {
/// If NULL is passed as an argument, an exception will be thrown.
/// \param cgh The command group handler.
/// \returns an accessor.
template <sycl::access_mode accessMode = sycl::access_mode::read_write>
static sycl::accessor<byte_t, 1, accessMode>
get_access(const void *ptr, sycl::handler &cgh) {
template <typename T,
sycl::access_mode accessMode = sycl::access_mode::read_write>
static auto get_access(const T *ptr, sycl::handler &cgh) {
if (ptr) {
auto alloc = detail::mem_mgr::instance().translate_ptr(ptr);
return alloc.buffer.get_access<accessMode>(cgh);
if constexpr (std::is_same_v<std::remove_reference_t<T>, void>)
return alloc.buffer.template get_access<accessMode>(cgh);
else
return alloc.buffer
.template reinterpret<T>(sycl::range<1>(alloc.size / sizeof(T)))
.template get_access<accessMode>(cgh);
} else {
throw std::runtime_error(
"NULL pointer argument in get_access function is invalid");
Expand Down
4 changes: 4 additions & 0 deletions clang/runtime/dpct-rt/include/dpct/rng_utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -614,4 +614,8 @@ create_host_rng(const random_engine_type type,
} // namespace rng
} // namespace dpct

template <class engine_t>
struct sycl::is_device_copyable<dpct::rng::device::rng_generator<engine_t>>
: std::true_type {};

#endif // __DPCT_RNG_UTILS_HPP__
48 changes: 24 additions & 24 deletions clang/test/dpct/accessor-offset.cu
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]), 23);
// CHECK-NEXT: hello(&d_a_acc_ct0[0], 23);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
Expand All @@ -54,7 +54,7 @@ void foo() {
// CHECK-NEXT: d_a += 2;
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -75,7 +75,7 @@ void foo() {
// CHECK-NEXT: d_a -= 2;
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -96,7 +96,7 @@ void foo() {
// CHECK-NEXT: d_a = d_a + 2;
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -117,7 +117,7 @@ void foo() {
// CHECK-NEXT: d_a = d_a - 2;
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -138,7 +138,7 @@ void foo() {
// CHECK-NEXT: *(&d_a + 1) = (int *)dpct::dpct_malloc(n * sizeof(float));
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -158,7 +158,7 @@ void foo() {
// CHECK-NEXT: d_a = (int *)dpct::dpct_malloc(n * sizeof(float));
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a + 1, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a + 1, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -178,7 +178,7 @@ void foo() {
// CHECK-NEXT: *p = (int *)dpct::dpct_malloc(n * sizeof(float));
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -203,7 +203,7 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]), 23);
// CHECK-NEXT: hello(&d_a_acc_ct0[0], 23);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
Expand All @@ -227,7 +227,7 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]), 23);
// CHECK-NEXT: hello(&d_a_acc_ct0[0], 23);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
Expand All @@ -251,7 +251,7 @@ void foo() {
// CHECK-NEXT: mod(&d_a);
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -272,7 +272,7 @@ void foo() {
// CHECK-NEXT: mod2(d_a);
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -298,7 +298,7 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]), 23);
// CHECK-NEXT: hello(&d_a_acc_ct0[0], 23);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
Expand All @@ -319,7 +319,7 @@ void foo() {
// CHECK-NEXT: d_a = d_a - 2;
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand Down Expand Up @@ -356,7 +356,7 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]), 23);
// CHECK-NEXT: hello(&d_a_acc_ct0[0], 23);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
Expand All @@ -383,7 +383,7 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]));
// CHECK-NEXT: hello(&d_a_acc_ct0[0]);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: if (n > 45) {
Expand All @@ -394,15 +394,15 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]));
// CHECK-NEXT: hello(&d_a_acc_ct0[0]);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
// CHECK-NEXT: if (n > 67) {
// CHECK-NEXT: d_a += 2;
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand Down Expand Up @@ -438,13 +438,13 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]));
// CHECK-NEXT: hello(&d_a_acc_ct0[0]);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand Down Expand Up @@ -472,13 +472,13 @@ void foo() {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: hello((int *)(&d_a_acc_ct0[0]), 23);
// CHECK-NEXT: hello(&d_a_acc_ct0[0], 23);
// CHECK-NEXT: });
// CHECK-NEXT: });
// CHECK-NEXT: }
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_acc_ct0(d_a, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_acc_ct0(d_a, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand All @@ -501,7 +501,7 @@ void foo() {
// CHECK-NEXT: d_a_global = (int *)dpct::dpct_malloc(n * sizeof(float));
// CHECK-NEXT: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<int *> d_a_global_acc_ct0(d_a_global, cgh);
// CHECK-NEXT: dpct::access_wrapper d_a_global_acc_ct0(d_a_global, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class hello_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, 1), sycl::range<3>(1, 1, 1)),
Expand Down Expand Up @@ -557,7 +557,7 @@ int testVectorAdd(void)
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class vectorAdd_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, blocksPerGrid) * sycl::range<3>(1, 1, threadsPerBlock), sycl::range<3>(1, 1, threadsPerBlock)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: vectorAdd((const float *)(&d_A_acc_ct0[0]), (const float *)(&d_B_acc_ct1[0]), (float *)(&d_C_acc_ct2[0]), numElements);
// CHECK-NEXT: vectorAdd(&d_A_acc_ct0[0], &d_B_acc_ct1[0], &d_C_acc_ct2[0], numElements);
// CHECK-NEXT: });
// CHECK-NEXT: });
vectorAdd<<<blocksPerGrid, threadsPerBlock>>>(d_A, d_B, d_C, numElements);
Expand Down
2 changes: 1 addition & 1 deletion clang/test/dpct/atomic_functions.cu
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ void InvokeKernel() {
cudaMemcpy(dev_ptr, host.get(), size, cudaMemcpyHostToDevice);
// CHECK: dpct::get_out_of_order_queue().submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<T *> dev_ptr_acc_ct0(dev_ptr, cgh);
// CHECK-NEXT: dpct::access_wrapper dev_ptr_acc_ct0(dev_ptr, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class test_{{[a-f0-9]+}}, T>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, k_threads_per_block), sycl::range<3>(1, 1, k_threads_per_block)),
Expand Down
4 changes: 2 additions & 2 deletions clang/test/dpct/cpp_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ int kernel_test() {
int karg3 = 80;
// CHECK: q_ct1.submit(
// CHECK-NEXT: [&](sycl::handler &cgh) {
// CHECK-NEXT: dpct::access_wrapper<const int *> karg1_acc_ct0((const int *)karg1, cgh);
// CHECK-NEXT: dpct::access_wrapper<const int *> karg2_acc_ct1(karg2, cgh);
// CHECK-NEXT: dpct::access_wrapper karg1_acc_ct0((const int *)karg1, cgh);
// CHECK-NEXT: dpct::access_wrapper karg2_acc_ct1(karg2, cgh);
// CHECK-EMPTY:
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class testKernelPtr_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(griddim * threaddim, threaddim),
Expand Down
2 changes: 1 addition & 1 deletion clang/test/dpct/cuda_cache_config.cu
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ int main(int argc, char **argv) {
// CHECK-NEXT: cgh.parallel_for<dpct_kernel_name<class simple_kernel_{{[a-f0-9]+}}>>(
// CHECK-NEXT: sycl::nd_range<3>(sycl::range<3>(1, 1, size / 64) * sycl::range<3>(1, 1, 64), sycl::range<3>(1, 1, 64)),
// CHECK-NEXT: [=](sycl::nd_item<3> item_ct1) {
// CHECK-NEXT: simple_kernel((float *)(&d_array_acc_ct0[0]));
// CHECK-NEXT: simple_kernel(&d_array_acc_ct0[0]);
// CHECK-NEXT: });
// CHECK-NEXT: });
simple_kernel<<<size / 64, 64>>>(d_array);
Expand Down
Loading