[all-commits] [llvm/llvm-project] 04770d: [clang] Define convergence in C++ languages such a...
Sameer Sahasrabuddhe via All-commits
all-commits at lists.llvm.org
Tue Apr 15 09:18:27 PDT 2025
Branch: refs/heads/users/ssahasra/clang-generate-tokens
Home: https://github.com/llvm/llvm-project
Commit: 04770deefa3d8e6db901727700b59ef78d5dbbdd
https://github.com/llvm/llvm-project/commit/04770deefa3d8e6db901727700b59ef78d5dbbdd
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A clang/docs/ThreadConvergence.rst
M clang/docs/conf.py
M clang/docs/index.rst
M clang/include/clang/AST/ParentMap.h
A clang/include/clang/Analysis/Analyses/ConvergenceCheck.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/ConvergenceCheck.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaHIP/convergence-warnings.hip
Log Message:
-----------
[clang] Define convergence in C++ languages such as HIP, CUDA, OpenCL
Commit: ea865dba2fb9cf45cace56536770b7c72f05d6be
https://github.com/llvm/llvm-project/commit/ea865dba2fb9cf45cace56536770b7c72f05d6be
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ThreadConvergence.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
A clang/lib/CodeGen/CGConvergence.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGenHIP/convergence-tokens.hip
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
Log Message:
-----------
[clang] Generate convergence control tokens in HIP
Commit: efcd2487e9abe77ca5f095f842cc40d8890d90d1
https://github.com/llvm/llvm-project/commit/efcd2487e9abe77ca5f095f842cc40d8890d90d1
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
don't overspecify convergent attribute
Commit: fb6a38e16a3f6744055eaf7a5f4f2f88946da98a
https://github.com/llvm/llvm-project/commit/fb6a38e16a3f6744055eaf7a5f4f2f88946da98a
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/ConvergenceCheck.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGConvergence.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGenHIP/noconvergent-statement.hip
A clang/test/SemaHIP/noconvergent-errors/backwards_jump.hip
A clang/test/SemaHIP/noconvergent-errors/jump-into-nest.hip
A clang/test/SemaHIP/noconvergent-errors/no-errors.hip
A clang/test/SemaHIP/noconvergent-errors/simple_jump.hip
Log Message:
-----------
[clang] Redefine "noconvergent" statement
This replaces the existing simple notion on every asm call in a
"noconvergent" the frontend removes the "convergent" in LLVM IR.
The new semantics introduces a more powerful notion that a "noconvergent"
statement may contain convergent operations, but the resulting convergence
constraints are limited to the scope of that statement. As a whole the statement
itself does not place any convergence constraints on the control flow reaching
it. When emitting convergence tokens, this attribute results in a call to the
anchor intrinsic that determines convergence within the statement.
Compare: https://github.com/llvm/llvm-project/compare/04770deefa3d%5E...fb6a38e16a3f
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list