[qt/clang/llvm-project]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/clang/llvm-project
Pushed by mirror-service into branch 'upstream/users/cchen/flang-metadirective-loop-dsa'.
Changed from 0000000000000000000000000000000000000000 to 5ac15dcc33829a40372aa1802d15d1cdf2553a18
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 37f7a62df45bf21b9706e5b5b4651061cf235a25 by Chi-Chun, Chen on 29/07/2026 at 17:46..
Fix dynamic metadirective candidate selection

Prune lower-ranked candidates guarded by the same dynamic condition from
semantic reachability analysis and lowering. Preserve condition scores for
implicit NOTHING variants so score remains the primary ordering criterion.
https://invent.kde.org/qt/clang/llvm-project/-/commit/37f7a62df45bf21b9706e5b5b4651061cf235a25

Git commit 8e9410f7580d30bb6bbcd1f0376245c691b47603 by Chi-Chun, Chen on 29/07/2026 at 18:00..
Track nested metadirective construct contexts

- Carry reachable replacement traits from enclosing metadirectives and
  interleave them with source constructs in nesting order.

- Union candidate reachability across dynamic outer contexts while
  pruning candidates that are shadowed independently of those contexts.

- Retain invariant dynamic-condition constraints with each construct
  alternative so mutually exclusive runtime paths are not combined.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8e9410f7580d30bb6bbcd1f0376245c691b47603

Git commit 5bc33219d4a72de6e8acf14e10afa24e0def2489 by Chi-Chun, Chen on 29/07/2026 at 18:00..
Diagnose interrupted metadirective loop associations

Treat OpenACC declarative and routine directives like OpenMP declarative
directives when they occur between a loop-associated metadirective and its
expected loop. Diagnose the missing associated loop while preserving pending
variants from enclosing scopes.
https://invent.kde.org/qt/clang/llvm-project/-/commit/5bc33219d4a72de6e8acf14e10afa24e0def2489

Git commit cbfcc8420a9590500f8a3b4338489f497c9c17b1 by Chi-Chun, Chen on 29/07/2026 at 18:00..
Guard eager metadirective privatization

Reject block variants whose private or firstprivate data sharing requires
variant-local host associations when delayed privatization is disabled.
Allow default(shared), which does not require those associations.
https://invent.kde.org/qt/clang/llvm-project/-/commit/cbfcc8420a9590500f8a3b4338489f497c9c17b1

Git commit 24ab154925592e65a921454b0d671f645dfc71a4 by Chi-Chun, Chen on 29/07/2026 at 21:09..
[flang][OpenMP] Lower data sharing for metadirective loop variants

Enable data sharing and privatization for ordinary loop-associated
metadirective replacements. Selection happens during lowering, after semantic
name resolution, so a selected replacement lacks the data-sharing flags and
host-association symbols created for an ordinary OpenMP construct.

Reconstruct explicit `private`, `firstprivate`, `lastprivate`, `shared`,
`linear`, and `reduction` attributes, together with the selected `default`
rule. Apply them at the variant boundary, isolate candidates from one another,
and restore temporary symbol state after each selection.

Recompute nested task captures and sequential loop-index attributes without
crossing nested data environments or unresolved metadirectives. Support
firstprivate and lastprivate copies without semantic host-association symbols,
including pointer and allocatable descriptors.

Diagnose replacements that require eager privatization. Keep `teams`
replacements unsupported until their privatization path can handle selected
metadirective variants correctly.

Add tests for explicit and default data sharing, dynamic candidates, nested
tasks and loops, local and static `block` objects, and copy-in/copy-out
behavior.

Assisted with codex.
https://invent.kde.org/qt/clang/llvm-project/-/commit/24ab154925592e65a921454b0d671f645dfc71a4

Git commit f84bbd4cb9776b029f93e1475812f7329c75cf17 by Chi-Chun, Chen on 29/07/2026 at 21:10..
Fix DSA isolation for metadirective loop variants

Keep data-sharing state local to each metadirective replacement during name
resolution. This prevents an explicit clause or default rule in one dynamic
candidate from affecting another candidate or the associated loop body.

Preserve explicit lastprivate when marking a selected loop induction variable.
Also enable nested data-environment and loop replacements now handled by the
Part 3 lowering path, replacing their TODO tests with lowering coverage.

Assisted with codex.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f84bbd4cb9776b029f93e1475812f7329c75cf17

Git commit 5ac15dcc33829a40372aa1802d15d1cdf2553a18 by Chi-Chun, Chen on 29/07/2026 at 22:23..
[flang][OpenMP] Fix metadirective DSA corner cases

Selected loop variants reconstruct data-sharing attributes during lowering.
Flattening nested parallel and task environments can silently privatize shared
variables, while clauses naming a COMMON block lose firstprivate or lastprivate
copy semantics when the block is expanded into members.

Reject replacement queues with multiple DSA-generating environments until
lowering can represent distinct bindings at every region boundary, and
propagate explicit DSA flags to every COMMON-block member. Add focused
coverage for the diagnostic and member copy-in/copy-out.
https://invent.kde.org/qt/clang/llvm-project/-/commit/5ac15dcc33829a40372aa1802d15d1cdf2553a18
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.