[clang] [llvm] [Clang][OpenMP] Implement Loop splitting `#pragma omp split` directive (PR #183261)

Michael Kruse via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 25 05:55:25 PDT 2026


================
@@ -17855,6 +18067,108 @@ OMPClause *SemaOpenMP::ActOnOpenMPSizesClause(ArrayRef<Expr *> SizeExprs,
                                 SanitizedSizeExprs);
 }
 
+EnumConstantDecl *SemaOpenMP::getOrCreateOMPFillCountMarker() {
----------------
Meinersbur wrote:

This is a quite complicated definition of `omp_fill`. What I expected was `OMPCountsClause` having an "omp_fill at this index" member indicating where the `omp_fill` is, possibly also a `SourceLocation` for where the keyworkd is in the source file.

Why did you chose this approach? I imagine there could be issues such as Clang emitting warnings because we are using an enum where an integer is expected, `__clang_omp_counts_fill_tag` appearing in disgnostic messages, or static analysis tools assuming its value would be zero.

If you want to have an ADT node representing `omp_fill`, I would suggest introducing its own node type (`StmtNodes.td`).

https://github.com/llvm/llvm-project/pull/183261


More information about the cfe-commits mailing list