From 69d04efa6e5f04cbaee91b58276d0e8b7f77ba39 Mon Sep 17 00:00:00 2001 From: Zheming Jin Date: Wed, 7 Jun 2023 06:54:10 -0700 Subject: [PATCH 1/2] [SYCL][CUDA] To support launch bounds --- clang/lib/CodeGen/TargetInfo.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index eb6f2a73b6711..7280bd2d04129 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -7384,6 +7384,15 @@ void NVPTXTargetCodeGenInfo::setTargetAttributes( // And kernel functions are not subject to inlining F->addFnAttr(llvm::Attribute::NoInline); } + if (const SYCLIntelMaxWorkGroupSizeAttr *A = + FD->getAttr()) { + uint64_t MaxThreads = (*A->getZDimVal()).getExtValue() * + (*A->getYDimVal()).getExtValue() * + (*A->getXDimVal()).getExtValue(); + if (MaxThreads > 0) { + addNVVMMetadata(F, "maxntidx", MaxThreads); + } + } } // Perform special handling in CUDA mode. From 440e64ff40d35a0ac0df9758fc2cd2dc3d6ae79f Mon Sep 17 00:00:00 2001 From: Zheming Jin Date: Wed, 7 Jun 2023 07:07:50 -0700 Subject: [PATCH 2/2] [SYCL][CUDA] update the formats --- clang/lib/CodeGen/TargetInfo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index 7280bd2d04129..9f1b74995b671 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -7386,11 +7386,11 @@ void NVPTXTargetCodeGenInfo::setTargetAttributes( } if (const SYCLIntelMaxWorkGroupSizeAttr *A = FD->getAttr()) { - uint64_t MaxThreads = (*A->getZDimVal()).getExtValue() * - (*A->getYDimVal()).getExtValue() * - (*A->getXDimVal()).getExtValue(); + int64_t MaxThreads = (*A->getZDimVal()).getExtValue() * + (*A->getYDimVal()).getExtValue() * + (*A->getXDimVal()).getExtValue(); if (MaxThreads > 0) { - addNVVMMetadata(F, "maxntidx", MaxThreads); + addNVVMMetadata(F, "maxntidx", MaxThreads); } } }