[all-commits] [llvm/llvm-project] 1d1874: [Clang][OpenMP] Implement Loop splitting `#pragma ...

Amit Tiwari via All-commits all-commits at lists.llvm.org
Mon Apr 13 00:10:02 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
      https://github.com/llvm/llvm-project/commit/1d18740d307bb30cca9e9c8b2dc15e161d8e10f0
  Author: Amit Tiwari <amtiwari at amd.com>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-dump-openmp-split.c
    A clang/test/Analysis/split_analyze.c
    A clang/test/Index/openmp-split.c
    A clang/test/OpenMP/split_ast_print.cpp
    A clang/test/OpenMP/split_codegen.cpp
    A clang/test/OpenMP/split_composition.cpp
    A clang/test/OpenMP/split_compound_associated.cpp
    A clang/test/OpenMP/split_counts_constexpr.cpp
    A clang/test/OpenMP/split_counts_ice.c
    A clang/test/OpenMP/split_counts_verify.c
    A clang/test/OpenMP/split_diag_errors.c
    A clang/test/OpenMP/split_distribute_inner_split.cpp
    A clang/test/OpenMP/split_driver_smoke.c
    A clang/test/OpenMP/split_iv_types.c
    A clang/test/OpenMP/split_loop_styles.cpp
    A clang/test/OpenMP/split_member_ctor.cpp
    A clang/test/OpenMP/split_messages.cpp
    A clang/test/OpenMP/split_nested_outer_only.c
    A clang/test/OpenMP/split_offload_codegen.cpp
    A clang/test/OpenMP/split_omp_fill.c
    A clang/test/OpenMP/split_openmp_version.cpp
    A clang/test/OpenMP/split_opts_simd_debug.cpp
    A clang/test/OpenMP/split_parallel_split.cpp
    A clang/test/OpenMP/split_pch_codegen.cpp
    A clang/test/OpenMP/split_range_for_diag.cpp
    A clang/test/OpenMP/split_serialize_module.cpp
    A clang/test/OpenMP/split_teams_nesting.cpp
    A clang/test/OpenMP/split_template_nttp.cpp
    A clang/test/OpenMP/split_templates.cpp
    A clang/test/OpenMP/split_trip_volatile.c
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    A openmp/runtime/test/transform/split/fill_first.c
    A openmp/runtime/test/transform/split/foreach.cpp
    A openmp/runtime/test/transform/split/intfor.c
    A openmp/runtime/test/transform/split/intfor_negstart.c
    A openmp/runtime/test/transform/split/iterfor.cpp
    A openmp/runtime/test/transform/split/leq_bound.c
    A openmp/runtime/test/transform/split/lit.local.cfg
    A openmp/runtime/test/transform/split/negative_incr.c
    A openmp/runtime/test/transform/split/nonconstant_incr.c
    A openmp/runtime/test/transform/split/parallel-split-intfor.c
    A openmp/runtime/test/transform/split/single_fill.c
    A openmp/runtime/test/transform/split/three_segments.c
    A openmp/runtime/test/transform/split/trip_one.c
    A openmp/runtime/test/transform/split/unsigned_iv.c
    A openmp/runtime/test/transform/split/zero_first_segment.c

  Log Message:
  -----------
  [Clang][OpenMP] Implement Loop splitting `#pragma omp split` directive (#190397)

Implement Loop-splitting #pragma omp split construct with counts clause.
Posting this PR after the revert of PR
([#183261](https://github.com/llvm/llvm-project/pull/183261))

Changes: 

1. Added `openmp/runtime/test/transform/split/lit.local.cfg`
2. Enforced ICE for `counts` clause items in `SemaOpenMP.cpp` (minor
change)
3. Updated tests `split_messages.cpp`, `split_omp_fill.cpp`,
`split_diag_errors.c`.
4. Removed `nonconstant_count.cpp`



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