[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