[qt/clang/llvm]: 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 Pushed by mirror-service into branch 'upstream/users/abhinavgaba/attach-maps-in-mappers-4'. Changed from f8dcb541bd329a32cf920d338c96b24457834188 to 8e3d56b1c1e6ea0adfdffa280df94635cc203c97 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 636995a0a03689987c87f8aaea8c49c7922717e7 by Abhinav Gaba on 27/07/2026 at 09:16.. [OpenMP][test] Mark failing declare_mapper tests UNSUPPORTED on intelgpu These five declare_mapper mapping tests currently fail on Intel GPUs (spirv64-intel): four produce a wrong result at runtime and declare_mapper_nested_mappers.cpp hits a module-build failure. Mark them UNSUPPORTED: intelgpu for now so the suite is green on Intel GPUs; investigating and fixing the underlying issues is tracked as a separate effort. The tests still run and pass on the host and other targets. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/636995a0a03689987c87f8aaea8c49c7922717e7 Git commit adb9b24df32d344351203e1c293e15d7b3f0c737 by Abhinav Gaba on 27/07/2026 at 09:23.. [OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries When a map clause uses a user-defined mapper, the map-type-modifying bits (ALWAYS, DELETE, CLOSE) on the outer clause must apply to each map the mapper inserts (OpenMP 6.0:281:34). Propagate them in emitUserDefinedMapper by OR-ing the imported modifier bits into each pushed component, except ATTACH entries (ATTACH|ALWAYS is reserved for attach(always) and the other bits are meaningless for ATTACH). PRESENT is intentionally not propagated here yet (a TODO notes it is handled in a follow-on, since it requires distinguishing pointee entries from the struct's own storage). Update offload mapper_map_always_from.c to its now-correct behavior: ALWAYS forces a member copy-back that the ref count would otherwise suppress, so s.y reads back as 111 (it was 0 before this change). Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/adb9b24df32d344351203e1c293e15d7b3f0c737 Git commit 8533f3d94f973576dc816be9f54708ff993f2cf6 by Abhinav Gaba on 27/07/2026 at 09:23.. [OpenMP][Clang] Enable ATTACH-style maps for mappers. Track per-entry attach-ptr info (HasAttachPtr) through mapper codegen so that emitUserDefinedMapper does not add a new outer MEMBER_OF to pointee/combined entries (which occupy different storage than the struct) or to ATTACH entries. Clang and the MLIR translator populate the per-entry array in parallel with the other MapInfosTy arrays. Address review: - Rename MapSkipMemberOfArrayTy to MapHasAttachPtrArrayTy to match the HasAttachPtr field it backs. - Restructure the emitUserDefinedMapper comment into a bulleted (*)/(**)/(***) list keyed to the example entries. - Reword the Clang comments: HasAttachPtr marks pointee entries that have a base attach-ptr; a combined entry has a base attach-ptr if its constituents do; cross-reference emitUserDefinedMapper for the MEMBER_OF rationale. - Update the moved present-check tests to their now-correct behavior (the attach-style maps make the inbounds present checks pass and remove the "explicit extension" errors). Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/8533f3d94f973576dc816be9f54708ff993f2cf6 Git commit 8e3d56b1c1e6ea0adfdffa280df94635cc203c97 by Abhinav Gaba on 27/07/2026 at 09:23.. [OpenMP] Propagate PRESENT to pointee entries in mapper codegen Extend map-type-modifier propagation in emitUserDefinedMapper to the PRESENT modifier, but only for entries that have an attach ptr (the pointee data, whose storage differs from the struct's own). A present modifier on the outer clause must require that pointee to be present on the device. This is gated on a new PropagatePresentToPointee argument, which Clang sets from CGM.getLangOpts().OpenMP >= 60. 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. Only propagation is gated; present written directly in a mapper's own clause applies at all versions. A TODO notes PRESENT should also propagate to the struct's own members, which is blocked while pointer members use PTR_AND_OBJ. Update the present-check tests to their final 6.0-gated behavior. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/8e3d56b1c1e6ea0adfdffa280df94635cc203c97