[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/abhinavgaba/attach-maps-in-mappers-4'.
Changed from 0229ace8ee05917efd8c60ffe26cd1819965ca11 to 93740f62f44470b6fd9fe6f34b03680897fe08f2
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 428b5e5eec3f66f348e1426b652cef9d1257ee8a by Abhinav Gaba on 17/07/2026 at 00:46..
[OpenMP][test] Add mapper present-check test for absent struct member

A user-defined mapper maps a member (s.x) and a pointee (s.p[0:10]). Pre-map
only the pointee, leaving s.x absent, then map(present: s) via the mapper.

This currently PASSES with no present-check failure even though s.x is absent:
the mapper emits the s.x member component without the PRESENT bit, so its
absence is a silent no-op. The test documents this gap with a FIXME; the
EXPECTED behavior is a present-check failure on s.x. Propagating PRESENT to
member entries is blocked while pointer members use PTR_AND_OBJ.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/428b5e5eec3f66f348e1426b652cef9d1257ee8a

Git commit 70f6b86b315c49c646dc1e21ed268a2475616453 by Abhinav Gaba on 23/07/2026 at 00:13..
[OpenMP][test] Add version-based present-check RUN lines and always-map variant

Address review on the mapper present tests:
- mapper_target_update_present_ptee.c: add RUN lines for all four
  OpenMP-version x bounds combinations (5.2/6.0 x inbounds/out-of-bounds).
  The present motion vs map-type modifier divergence was unintentional and is
  fixed as an OpenMP 6.0 erratum, so for <= 5.2 present is not applied to the
  pointee; the checks reflect the current (pre-propagation) state with FIXMEs
  for the eventual 6.0 present-check failure on the out-of-bounds pointee.
- mapper_enter_data_always_present_ptee.c: new variant driving the mapper via
  'target enter data map(always, present, to : s)' instead of target update.
  Documents the current run-fail state (an explicit-extension error on the
  mapper's combined member entry) with a FIXME for the attach-style fix.
- mapper_map_ptee_only_2_ptr_indirections.c: clarify the after-delete FIXME --
  the pointer's storage stays present because the mapper drops DELETE, not
  because of attach-style mapping.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/70f6b86b315c49c646dc1e21ed268a2475616453

Git commit 89b84291ffc0b7d35f86bfc687f0528e44998a42 by GitHub (on behalf of Jannick Kremer) on 23/07/2026 at 23:28..
[libclang/python] Remove global SPELLING_CACHE alias (#210677)

This completes the second step of
https://github.com/llvm/llvm-project/issues/156680
This change is a follow-up to
https://github.com/llvm/llvm-project/pull/177586, following the release
branching, to ensure a one release-cycle deprecation period.

---------

Co-authored-by: Vlad Serebrennikov <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/89b84291ffc0b7d35f86bfc687f0528e44998a42

Git commit f854d3e457da8fcbc01fe51d2f2e1727d18554bb by Abhinav Gaba on 23/07/2026 at 23:32..
Merge remote-tracking branch 'upstream/main' into add-mapper-tests-that-need-attach-type-codegen
https://invent.kde.org/qt/clang/llvm-project/-/commit/f854d3e457da8fcbc01fe51d2f2e1727d18554bb

Git commit d61e7ed8a50aa3d653064420df78924507bb97f8 by Abhinav Gaba on 23/07/2026 at 23:32..
[OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries

Per OpenMP 6.0:281:34, when a map/motion clause uses a mapper modifier, any
map-type-modifying modifier on that clause applies to each map the declared
mapper specifies. Propagate the ALWAYS, DELETE, and CLOSE bits from the outer
clause's map type into every entry emitted by emitUserDefinedMapper, except
ATTACH entries (ATTACH|ALWAYS is reserved for attach(always), and the other
bits have no meaning for an ATTACH entry).

PRESENT is intentionally NOT propagated here: it requires distinguishing
pointee entries from the struct's own storage and is handled in a follow-up.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/d61e7ed8a50aa3d653064420df78924507bb97f8

Git commit 475ddabe793445e10fe20cbc4b633e270ecda217 by Abhinav Gaba on 23/07/2026 at 23:33..
[OpenMP] Track attach-ptr entries in mapper codegen (HasAttachPtr)

Add a per-entry HasAttachPtr flag to MapInfosTy. It is set for entries that
have an attach pointer (and thus an accompanying ATTACH entry linking that ptr
to its pointee): pointee/combined entries whose storage differs from the struct
being mapped. It is NOT set for the ATTACH entries themselves.

In emitUserDefinedMapper, entries with HasAttachPtr (or the ATTACH bit, or the
Flang/MLIR PreserveMemberOfFlags) do not receive a new outer MEMBER_OF: pointee
data occupies a different storage block than the struct, and ATTACH entries
just link a ptr to its ptee. Existing inner MEMBER_OF bits are still shifted.

Clang (CGOpenMPRuntime) and the MLIR translator populate HasAttachPtr in
parallel with the other per-entry arrays; the MLIR/Flang side currently pushes
false with a TODO to set it for pointee-storage entries (e.g. s%p(0:10)) and
eventually drop PreserveMemberOfFlags in favor of it.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/475ddabe793445e10fe20cbc4b633e270ecda217

Git commit 93740f62f44470b6fd9fe6f34b03680897fe08f2 by Abhinav Gaba on 23/07/2026 at 23:33..
[OpenMP] Propagate PRESENT to pointee entries in mapper codegen

Extend mapper map-type-modifier propagation to include PRESENT, gated to entries
that have an attach pointer (HasAttachPtr): the pointee data, whose storage
differs from the struct being mapped. A present modifier on the outer map/motion
clause must require that pointee to be present on the device; the present-check
on the struct's own storage does not cover it.

The propagation is gated on a new PropagatePresentToPointee argument to
emitUserDefinedMapper, set by callers only for OpenMP >= 6.0. Before 6.0 the
present modifier is treated as not applying to the pointee: the spec committee
confirmed the divergence between the present 'motion' modifier (to/from) and the
present map-type modifier (map) was unintentional, to be fixed as an OpenMP 6.0
erratum, so for 5.2 present is ignored for the pointee for both map and to/from.

Regular struct members receive only ALWAYS/DELETE/CLOSE; attach-ptr/pointee
entries additionally receive PRESENT at OpenMP >= 6.0. ATTACH entries receive no
modifier bits.

TODO: PRESENT should also propagate to the struct's own members (e.g. s.x, s.y
of map(present, mapper(id): s)) so an absent member triggers the present check.
That is blocked while pointer members use PTR_AND_OBJ (a single combined entry
allocates the whole struct including the pointer's storage, so propagating
PRESENT there would wrongly require the pointer's pointee to be present). Enable
it once Clang emits attach-style maps throughout instead of PTR_AND_OBJ.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/93740f62f44470b6fd9fe6f34b03680897fe08f2
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.