[clang] [SYCL] SYCL host kernel launch support for the sycl_kernel_entry_point attribute. (PR #152403)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 29 10:21:46 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp,h -- clang/test/AST/ast-print-sycl-kernel-call.cpp clang/test/SemaSYCL/sycl-host-kernel-launch.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-this.cpp clang/include/clang/AST/ASTNodeTraverser.h clang/include/clang/AST/RecursiveASTVisitor.h clang/include/clang/AST/StmtSYCL.h clang/include/clang/Sema/ScopeInfo.h clang/include/clang/Sema/SemaSYCL.h clang/include/clang/Serialization/ASTBitCodes.h clang/lib/AST/ComputeDependence.cpp clang/lib/AST/StmtPrinter.cpp clang/lib/AST/StmtProfile.cpp clang/lib/CodeGen/CGStmt.cpp clang/lib/CodeGen/CodeGenFunction.h clang/lib/CodeGen/CodeGenSYCL.cpp clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaExceptionSpec.cpp clang/lib/Sema/SemaSYCL.cpp clang/lib/Sema/TreeTransform.h clang/lib/Serialization/ASTReaderStmt.cpp clang/lib/Serialization/ASTWriterStmt.cpp clang/lib/StaticAnalyzer/Core/ExprEngine.cpp clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp clang/tools/libclang/CXCursor.cpp
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/include/clang/AST/StmtSYCL.h b/clang/include/clang/AST/StmtSYCL.h
index c8da49873..8a8fd7d16 100644
--- a/clang/include/clang/AST/StmtSYCL.h
+++ b/clang/include/clang/AST/StmtSYCL.h
@@ -118,8 +118,8 @@ class UnresolvedSYCLKernelCallStmt : public Stmt {
void setOriginalStmt(CompoundStmt *CS) { OriginalStmt = CS; }
public:
- static UnresolvedSYCLKernelCallStmt *
- Create(const ASTContext &C, CompoundStmt *CS, Expr *IdExpr) {
+ static UnresolvedSYCLKernelCallStmt *Create(const ASTContext &C,
+ CompoundStmt *CS, Expr *IdExpr) {
return new (C) UnresolvedSYCLKernelCallStmt(CS, IdExpr);
}
diff --git a/clang/include/clang/Sema/SemaSYCL.h b/clang/include/clang/Sema/SemaSYCL.h
index 76046b765..7177d5163 100644
--- a/clang/include/clang/Sema/SemaSYCL.h
+++ b/clang/include/clang/Sema/SemaSYCL.h
@@ -69,8 +69,7 @@ public:
StmtResult BuildSYCLKernelCallStmt(FunctionDecl *FD, CompoundStmt *Body,
Expr *LaunchIdExpr);
ExprResult BuildSYCLKernelLaunchIdExpr(FunctionDecl *FD, QualType KNT);
- StmtResult BuildUnresolvedSYCLKernelCallStmt(CompoundStmt *CS,
- Expr *IdExpr);
+ StmtResult BuildUnresolvedSYCLKernelCallStmt(CompoundStmt *CS, Expr *IdExpr);
};
} // namespace clang
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index f1704fc02..ab1dc212e 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -16205,8 +16205,8 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D,
maybeAddDeclWithEffects(FD);
- if (FD && !FD->isInvalidDecl() &&
- FD->hasAttr<SYCLKernelEntryPointAttr>() && FnBodyScope) {
+ if (FD && !FD->isInvalidDecl() && FD->hasAttr<SYCLKernelEntryPointAttr>() &&
+ FnBodyScope) {
// Building KernelLaunchIdExpr requires performing an unqualified lookup
// which can only be done correctly while the stack of parsing scopes is
// alive, so we do it here when we start parsing function body even if it is
diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp
index dd332f063..114554dbe 100644
--- a/clang/lib/Sema/SemaSYCL.cpp
+++ b/clang/lib/Sema/SemaSYCL.cpp
@@ -456,17 +456,16 @@ ExprResult SemaSYCL::BuildSYCLKernelLaunchIdExpr(FunctionDecl *FD,
}
StmtResult SemaSYCL::BuildUnresolvedSYCLKernelCallStmt(CompoundStmt *CS,
- Expr *IdExpr) {
+ Expr *IdExpr) {
return UnresolvedSYCLKernelCallStmt::Create(SemaRef.getASTContext(), CS,
- IdExpr);
+ IdExpr);
}
namespace {
void PrepareKernelArgumentsForKernelLaunch(SmallVectorImpl<Expr *> &Args,
- const SYCLKernelInfo *SKI,
- Sema &SemaRef,
- SourceLocation Loc) {
+ const SYCLKernelInfo *SKI,
+ Sema &SemaRef, SourceLocation Loc) {
assert(SKI && "Need a kernel!");
ASTContext &Ctx = SemaRef.getASTContext();
@@ -497,9 +496,8 @@ void PrepareKernelArgumentsForKernelLaunch(SmallVectorImpl<Expr *> &Args,
}
}
-StmtResult BuildSYCLKernelLaunchStmt(Sema &SemaRef,
- const SYCLKernelInfo *SKI,
- Expr *IdExpr, SourceLocation Loc) {
+StmtResult BuildSYCLKernelLaunchStmt(Sema &SemaRef, const SYCLKernelInfo *SKI,
+ Expr *IdExpr, SourceLocation Loc) {
SmallVector<Stmt *> Stmts;
assert(SKI && "Need a Kernel!");
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index e4c5d7ab9..065a9bb60 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -12879,11 +12879,11 @@ StmtResult TreeTransform<Derived>::TransformUnresolvedSYCLKernelCallStmt(
ExprResult IdExpr = getDerived().TransformExpr(S->getKernelLaunchIdExpr());
if (IdExpr.isInvalid())
- return StmtError();
+ return StmtError();
StmtResult Body = getDerived().TransformStmt(S->getOriginalStmt());
if (Body.isInvalid())
- return StmtError();
+ return StmtError();
StmtResult SR = SemaRef.SYCL().BuildSYCLKernelCallStmt(
cast<FunctionDecl>(SemaRef.CurContext), cast<CompoundStmt>(Body.get()),
``````````
</details>
https://github.com/llvm/llvm-project/pull/152403
More information about the cfe-commits
mailing list