[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/main'. Changed from d9fff42ccd58cb3d95cff60641011d72d38dc300 to 331e5641480d24de1951d30ef6b10362ab3b6acf 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 334708eb100204edc677a546bfa77ef10df71ec9 by GitHub (on behalf of Nico Weber) on 20/07/2026 at 11:23.. [gn build] Port 03b5c5285eaf (#210688) https://invent.kde.org/qt/clang/llvm-project/-/commit/334708eb100204edc677a546bfa77ef10df71ec9 Git commit 41d76f2763a53517f273c87a1a703f00cb965f09 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 11:26.. AMDGPU/GlobalISel: Fix G_UNMERGE_VALUES lowering for extended LLTs (#209201) Use integer type for bit twiddling instead of scalar. https://invent.kde.org/qt/clang/llvm-project/-/commit/41d76f2763a53517f273c87a1a703f00cb965f09 Git commit b21fb937f165898c727030760f0a8ab685ef08eb by GitHub (on behalf of Benedek Kaibas) on 20/07/2026 at 11:26.. [analyzer][NFC] Correct the DanglingPtrDeref checker's filename (#209862) The alpha `DanglingPtrDeref` checker got implemented in #209278. Since it is under heavy development and subject to change significantly in the near future it is in alpha stage. During the development of the `DanglingPtrDeref` checker its name got changed from `ReportDanglingPtrDeref` to `DanglingPtrDeref` based on the conversation here: https://github.com/llvm/llvm-project/pull/209278#discussion_r3578604913 While the checker's registration got updated in `Checkers.td` the same change did not get applied to the ` clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt` and the checker's filename. This PR addresses this issue. https://invent.kde.org/qt/clang/llvm-project/-/commit/b21fb937f165898c727030760f0a8ab685ef08eb Git commit 2ec66d76fde71265be83c216d0be3d16bb131fc7 by GitHub (on behalf of Lang Hames) on 20/07/2026 at 11:27.. [orc-rt] Fix wrapper-call managed-code token lifetime (#210686) d199b284c7d established that ManagedCodeTaskGroup tokens must bracket a single span of execution on a stack, not a chain of asynchronous operations (see orc-rt/docs/Design.md's "Managed code execution and shutdown" section). Session::handleWrapperCall and sendWrapperResult predated that policy and didn't conform to it: the token was acquired in handleWrapperCall but only released in sendWrapperResult, holding it for the whole call/response chain. If Fn deferred sending its result asynchronously, Session shutdown would incorrectly wait on that deferred completion instead of proceeding as soon as Fn's stack unwound. Acquire the token as a TaskGroup::Token scoped to the dispatched call, and let it release when Fn returns rather than when its result is sent. https://invent.kde.org/qt/clang/llvm-project/-/commit/2ec66d76fde71265be83c216d0be3d16bb131fc7 Git commit d90634dc185da79a8eb6a993c28614f4788e368e by GitHub (on behalf of 311Volt) on 20/07/2026 at 11:28.. [offload] support arbitrary memoryFill pattern sizes in L0 plugin (#209724) Even though L0, CUDA and HSA do not directly support filling memory regions with non-power-of-two-sized patterns, plugins explicitly allow for such fills by falling back to a slow path whenever a direct API call is not possible. The Level Zero plugin is the odd one out, forwarding directly to `zeCommandListAppendMemoryFill`. This fails for non-power-of-two patterns, causing unit tests for `olMemFill` to fail when run on L0. This PR adds fallbacks in L0 plugin's `memoryFill` implementation to support arbitrary pattern sizes: - if all pattern bytes are the same, substitute `1` for `patternSize` and proceed with the native fill - if memory is host-accessible (host or shared alloc), then simply `std::copy_n` the pattern - if memory is device-only, upload a seed to the device, and `memoryCopy` O(log n) times, doubling the pattern each time, until the entire region is filled. The seed is the input pattern, but extended on the host to 1-2KiB to potentially eliminate several small `memoryCopy` calls that would otherwise be almost pure overhead. Conceptually, this approach has better worst-case overhead than the one found in the CUDA plugin (decompose the pattern to then run multiple strided memsets) and the AMDGPU one (call `pushMemoryCopyH2DAsync` with the pattern, setting `NumTimes`). Aligning the fallback fill approaches is outside the scope of this PR, however - the main intent is to fix the unit test failures. https://invent.kde.org/qt/clang/llvm-project/-/commit/d90634dc185da79a8eb6a993c28614f4788e368e Git commit a8ffce42477c909908d6f45511a48fd01a24837d by GitHub (on behalf of Younan Zhang) on 20/07/2026 at 11:32.. [Clang] Fix evaluation of fold expanded constraints for NTTP (#210005) This is a rework of #200185 and also reflects what we did for TTP in C++26 fold expression constraints (adc64c6e1745) Fixes https://github.com/llvm/llvm-project/issues/199569 https://invent.kde.org/qt/clang/llvm-project/-/commit/a8ffce42477c909908d6f45511a48fd01a24837d Git commit 14f6b9f0a3976f85d3ef509c8361991ae3702002 by GitHub (on behalf of Deepak Shirke) on 20/07/2026 at 11:35.. [VectorCombine] Fold bitcast(bitreverse.v8i8(bitcast(IntTy))) into bswap+bitreverse (#209037) Add reverse direction to `foldBitOrderReverseAndSwap`: `bitcast(bitreverse(<N x i8>)(bitcast(IntTy X)))` --> `bitreverse(bswap(X))` This avoids GPR<=>vector register crossings when integer ops are cheaper. On AArch64 for example: Before: ```asm fmov d0, x0 ; GPR → vector crossing rbit v0.8b, v0.8b fmov x0, d0 ; vector → GPR crossing ``` After: ```asm rev x8, x0 ; stays in integer registers rbit x0, x8 ``` The fold is cost-model driven and only fires when the integer version is cheaper, so targets like X86+GFNI that prefer the vector form (single `vgf2p8affineqb` instruction) are unaffected. A new call site for `BitCast` instructions is added alongside the existing `Call` instruction call site in the dispatch loop. Fixes #201760 https://invent.kde.org/qt/clang/llvm-project/-/commit/14f6b9f0a3976f85d3ef509c8361991ae3702002 Git commit 06e3180cd141d9a8efdb9e9867b4a32300679038 by GitHub (on behalf of Barbara Mitic) on 20/07/2026 at 11:37.. [AMDGPU] Accept extractelement of a widening cast when folding image ops to a16 (#208207) canSafelyConvertTo16Bit() recognizes a scalar coordinate that is a direct sext/zext/fpext from a 16-bit value (sext gated on AllowI16SExt). Per-dimension coordinates can instead arrive as an extractelement of a widening vector cast (extractelement((s|z|fp)ext <N x i16/half> Vec), Idx). When the cast has more than one use, the extractelement(cast) -> cast(extractelement) canonicalization does not fire, so the cast is left in place and the coordinate is not recognized. Strip a leading extractelement before the cast check so the same logic handles scalar and per-lane coordinates, and mirror this in convertTo16Bit() by re-extracting from the narrow vector, allowing the widening cast to be removed once it has no other uses. https://invent.kde.org/qt/clang/llvm-project/-/commit/06e3180cd141d9a8efdb9e9867b4a32300679038 Git commit bd38dd0ace19c3b9512da2b37bb9690ee6c9e97f by GitHub (on behalf of AntonyCJ30) on 20/07/2026 at 11:39.. [X86] Fix swapped VPTERNLOG231_imm8/VPTERNLOG312_imm8 SDNodeXForm bodies (#209782) Fixes #157929 VPTERNLOG231_imm8 and VPTERNLOG312_imm8 had their bodies swapped, causing ISel to emit the wrong truth-table immediate whenever operand reordering was needed (-O1+, not -O0). Test changes: - **avx512-vpternlog-commute.ll: regenerated with update_llc_test_checks.py** (accounts for the large diff) - Added 4 new cases: vpternlog231_rmik, vpternlog312_rmik, vpternlog231_rmbik, vpternlog312_rmbik Tested: llvm-lit on llvm/test/CodeGen/X86 (no regressions), original repro verified correct at -O0 through -O3, -Os, -Oz. https://invent.kde.org/qt/clang/llvm-project/-/commit/bd38dd0ace19c3b9512da2b37bb9690ee6c9e97f Git commit 60f8b4624badab6bec5e2600d82cf98b6a4e303b by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 11:40.. AMDGPU/GlobalISel: Fix G_MERGE_VALUES lowering for extended LLTs (#209202) Use integer type for bit twiddling instead of scalar. https://invent.kde.org/qt/clang/llvm-project/-/commit/60f8b4624badab6bec5e2600d82cf98b6a4e303b Git commit 648aec12e5e5242c93aa73a21714553c6341ddc3 by GitHub (on behalf of Sander de Smalen) on 20/07/2026 at 11:50.. [AArch64] NFC: Factor out code from FP_TO_INT (SVE). (#207200) This just moves out some of the SVE lowering code from LowerVectorFP_TO_INT into a separate function, so that we can reuse that in LowerVectorFP_TO_INT_SAT. https://invent.kde.org/qt/clang/llvm-project/-/commit/648aec12e5e5242c93aa73a21714553c6341ddc3 Git commit 25b75a1e41c5fe71ed1f832c36c8bfb1bca1ab35 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 11:51.. AMDGPU/GlobalISel: Stop using changeTo in legalizer actions (#209203) Use changeElementSizeTo or changeElementCountTo to preserve extended LLT. https://invent.kde.org/qt/clang/llvm-project/-/commit/25b75a1e41c5fe71ed1f832c36c8bfb1bca1ab35 Git commit 8abc26930cf9ee0f059228acdbd1d22cd1c325e3 by GitHub (on behalf of Simon Pilgrim) on 20/07/2026 at 12:04.. [X86] combineShiftRightLogical - fold srl(vecreduce_umax(x),bw-1) as MOVMSK signbit reduction (#210281) VectorCombine may have folded: icmp_eq(vecreduce_or(splatsign(x)),0) --> icmp_sgt(vecreduce_umax(x),-1) which DAG folds to: srl(vecreduce_umax(x),bw-1). This match attempts to lower: srl(vecreduce_umax(x),bw-1) --> icmp_ne(movmsk(x),0) "any_of negative" srl(not(vecreduce_umax(x)),bw-1) --> icmp_eq(movmsk(x),0) "none_of negative" The correct fix would be to improve vecreduce_or costs to prevent VectorCombine doing this, but that change is far too big to be merged into 23.x - so I've created the narrow backend fix. Fixes #209714 https://invent.kde.org/qt/clang/llvm-project/-/commit/8abc26930cf9ee0f059228acdbd1d22cd1c325e3 Git commit d9c88062ecf9dc8ece4bb1482b0f1789979e3da5 by GitHub (on behalf of rdevshp) on 20/07/2026 at 12:05.. [analyzer] Fix _BitInt support & casting behavior for Z3 symbolic execution (#210525) Forces symbolic cast to be enabled for z3 symbolic execution, and switches away from Ctx.getTypeSize for getting the bit width of integral types. The current patch might be a bit problematic for z3 cross-check, as this relies on symbolic integer cast to be always on. I am not sure if turning on ShouldSupportSymbolicIntegerCasts would cause issues for the supported range-based solver, so I only kept it turned on when AnalysisConstraintsOpt == Z3ConstraintsModel. Assisted-by: Codex https://invent.kde.org/qt/clang/llvm-project/-/commit/d9c88062ecf9dc8ece4bb1482b0f1789979e3da5 Git commit 27fe16dcf920c92bcb7050e5abf4164ed3b496d1 by GitHub (on behalf of Dan Blackwell) on 20/07/2026 at 12:06.. [Darwin][ASan] Strip MTE-tags for inlined shadow translations (#204827) https://github.com/llvm/llvm-project/pull/166453 stripped these tags when the runtime performed the mem-to-shadow translation, but did not account for ASan's inline translations. When an MTE-tagged address gets translated, the tag bits are right-shifted too, resulting in a very high address that faults when accessed. This patch strips the MTE-tag bits before applying the translation on Apple platforms. rdar://180032780 https://invent.kde.org/qt/clang/llvm-project/-/commit/27fe16dcf920c92bcb7050e5abf4164ed3b496d1 Git commit 1caf9e1ef68ef85f1976e82bfc33befe1edc6eff by GitHub (on behalf of Federico Bruzzone) on 20/07/2026 at 12:09.. [mlir][ArmSVE] Fix comment inconsistency for `pack_lhs` in `ArmSVE/pack-unpack-mmt4d.mlir` (NFC) (#210502) This PR simply fix a comment inconsistency for `pack_lhs` in [ArmSVE/pack-unpack-mmt4d.mlir](https://github.com/llvm/llvm-project/compare/main...FedericoBruzzone:nfc-armsve?expand=1#diff-7be071860c440806b8dad954ed61946e7e9f27e032ed6044a704f0c0f70e4407) as identified in #208226. Signed-off-by: Federico Bruzzone <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/1caf9e1ef68ef85f1976e82bfc33befe1edc6eff Git commit c30b1fa7a08e36346f80b1798ae587bc1d5e032b by GitHub (on behalf of Nico Weber) on 20/07/2026 at 12:09.. [gn build] Port b21fb937f165 (#210698) https://invent.kde.org/qt/clang/llvm-project/-/commit/c30b1fa7a08e36346f80b1798ae587bc1d5e032b Git commit 2cdd343022d4c5848281f4bb3670213f535884a2 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:12.. AMDGPU/GlobalISel: Fix legalizer lowering for G_EXTRACT/INSERT_VECTOR_ELT (#210094) Use LLT::integer in bit twiddling lowering for extract/insert vector element. https://invent.kde.org/qt/clang/llvm-project/-/commit/2cdd343022d4c5848281f4bb3670213f535884a2 Git commit ca276b4822b1c748aaf9ef631d887143cb03a217 by GitHub (on behalf of Pengcheng Wang) on 20/07/2026 at 12:14.. [ExpandMemCmp][RISCV] Expand memcmp/bcmp for aligned pointers on strict-align targets (#209738) `RISCVTTIImpl::enableMemCmpExpansion` previously disabled `memcmp`/`bcmp` expansion whenever the target lacks unaligned scalar memory access. This is too conservative: when both pointers are statically known to be sufficiently aligned (e.g. `bcmp(ptr align 8, ptr align 8, 32)`), only naturally aligned loads are needed, which are fine on strict-align targets. `ExpandMemCmp` now keeps a candidate load size only if, given the known common alignment of the two pointers, the access is naturally aligned or the target reports it via `allowsMisalignedMemoryAccesses`; otherwise it falls back to the libcall. The query tests whether the access is *allowed* (not *fast*), so it is a no-op for targets that already allow unaligned access (X86, AArch64, ...). The known alignment now also folds in the `align` attributes on the call arguments (`CallBase::getParamAlign`), not just the pointer value. RISCV drops the early return and only offers overlapping loads / tail expansions when unaligned scalar access is supported. Fixes #209511. Assisted-by: TRAE CLI (DeepSeek V4 Pro) https://invent.kde.org/qt/clang/llvm-project/-/commit/ca276b4822b1c748aaf9ef631d887143cb03a217 Git commit 0000fd1fc63dcc7f0fe87091fe2e5a0daf5ec727 by GitHub (on behalf of Simon Pilgrim) on 20/07/2026 at 12:19.. [VectorCombine] load-widening.ll - add test coverage for all 4 x86-64 cpu levels and aarch64 endian test coverage (#210690) Removed x86 endianess tests which makes no sense (and are likely to misbehave) and add equivalent test coverage to aarch64 Noticed while reviewing #209775 https://invent.kde.org/qt/clang/llvm-project/-/commit/0000fd1fc63dcc7f0fe87091fe2e5a0daf5ec727 Git commit ac41c58f7b3b26a4bd4260d05afd7c3b2ccc3c72 by GitHub (on behalf of BohdanYehorov) on 20/07/2026 at 12:20.. [clang][docs] Fix include path in InternalsManual (#209458) The paths `include/Basic/StmtNodes.td` and `include/AST/Expr*.h` in the Clang Internals Manual are incorrect. https://invent.kde.org/qt/clang/llvm-project/-/commit/ac41c58f7b3b26a4bd4260d05afd7c3b2ccc3c72 Git commit a35bcaef8c1a0867af4c3b547422b4783c88fc96 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:24.. AMDGPU/GlobalISel: Explicitly widen scalar to i32 for load and store (#210095) Affects f16 and bf16. Earlier, they were widened to f32 and s32 respectively. The actual error was the artifact combiner creating a copy between f32/i32 which fails in the machine verifier. Maybe we could create a bitcast there. However i32 is more efficient for us and matches well with how argument lowering keeps f16 and bf16 in i32 copies to/from physical registers. Also starting from f16 store, G_STORE %0(f16), %1(p1) :: (store (f16), and doing widen scalar to 32 bit type, i32 makes more sense since store will store 16 least significant bits G_STORE %0(i32), %1(p1) :: (store (f16) compared to G_STORE %0(f32), %1(p1) :: (store (f16), which looks incorrect if we assume input was really in f32 format. https://invent.kde.org/qt/clang/llvm-project/-/commit/a35bcaef8c1a0867af4c3b547422b4783c88fc96 Git commit 16e213f7dd3b8a2ec93b3015268efb8f59c9b52d by GitHub (on behalf of Arseniy Obolenskiy) on 20/07/2026 at 12:45.. [AMDGPU][GlobalISel] Fix wrong half selection in wave.shuffle lowering (#210661) selectWaveShuffleIntrin XORed ThreadID with the shifted index instead of the original index, picking the wrong lane half on wave64 targets without wave wide bpermute (GFX10/GFX11) https://invent.kde.org/qt/clang/llvm-project/-/commit/16e213f7dd3b8a2ec93b3015268efb8f59c9b52d Git commit 75ee393652ca86f5d9b3670be5fa04d2bd8bb95a by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:46.. AMDGPU/GlobalISel: Use integer as MMO type for loads and stores lowering (#210096) We could get away with just the type from MMO in most cases, but MMO splitting creates MMO with LLT::scalar and we prefer integer. https://invent.kde.org/qt/clang/llvm-project/-/commit/75ee393652ca86f5d9b3670be5fa04d2bd8bb95a Git commit 112aac39131f7fdc8b4a50cb3fb13ef293e1c620 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:47.. AMDGPU/GlobalISel: Fix extending load narrow scalar (#210097) isAnyScalar is explicit LLT::scalar check but we want to narrow scalar integer types as well. https://invent.kde.org/qt/clang/llvm-project/-/commit/112aac39131f7fdc8b4a50cb3fb13ef293e1c620 Git commit 88a19bdee051ef4ce15fc4e29f50a328b80b0166 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:47.. AMDGPU/GlobalISel: Use integers for read-any-lane split type (#210098) https://invent.kde.org/qt/clang/llvm-project/-/commit/88a19bdee051ef4ce15fc4e29f50a328b80b0166 Git commit 92873559f90a35f89ebc5ac94a6d7e4c3a419ecb by GitHub (on behalf of Raphael Isemann) on 20/07/2026 at 12:48.. [lldb][test] Bump safety timeout in simulator tests to fix flakyness (#209180) On really slow machines, the current 10 second timeout can expire and cause the test to randomly fail. Bump the timeout to 10 minutes which 60 times the current value and should be unreachable even on the slowest of machines. To avoid making the tests run for 10 minutes, we now consistently kill the test process on shutdown using the subprocess list in lldbtest which gets killed on tearDown. https://invent.kde.org/qt/clang/llvm-project/-/commit/92873559f90a35f89ebc5ac94a6d7e4c3a419ecb Git commit 1e18a0f4d758ff796acbb3987c2d01c02bb223a1 by GitHub (on behalf of Antonio Frighetto) on 20/07/2026 at 12:58.. [MemCpyOpt] Precommit tests for PR210667 (NFC) (#210708) https://invent.kde.org/qt/clang/llvm-project/-/commit/1e18a0f4d758ff796acbb3987c2d01c02bb223a1 Git commit 92539cf3a83e22dd589fa97d223da06339dc304a by GitHub (on behalf of Antonio Frighetto) on 20/07/2026 at 13:01.. [MemCpyOpt] Ensure call slot optz does not lower destination alloca alignment (#210667) A destination alloca's alignment could have been unconditionally overwritten, letting a lower-aligned source incorrectly undo a previous alignment increase. This issue has been addressed by considering the maximum alignment between the new source target and current destination, adhering to what the existing comment already promises. Fixes: https://github.com/llvm/llvm-project/issues/208092. https://invent.kde.org/qt/clang/llvm-project/-/commit/92539cf3a83e22dd589fa97d223da06339dc304a Git commit 4f939577de61ffdf85087499b99aa3686ed362cd by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:04.. GlobalISel: Use extended LLTs in f64 to f16 fptrunc lowering (#210099) https://invent.kde.org/qt/clang/llvm-project/-/commit/4f939577de61ffdf85087499b99aa3686ed362cd Git commit e3016ce1a9a14c690c90a343849d45837d9d95d7 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:04.. GlobalISel: Use extended LLTs in extract lowering (#210100) https://invent.kde.org/qt/clang/llvm-project/-/commit/e3016ce1a9a14c690c90a343849d45837d9d95d7 Git commit e8969304fe0ca32088120702267772a622f5f746 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:05.. AMDGPU/GlobalISel: Use integers for clamp i64 to i16 prelegalizer combine (#210101) https://invent.kde.org/qt/clang/llvm-project/-/commit/e8969304fe0ca32088120702267772a622f5f746 Git commit 066fba24b425211e80deb4486ba56ddf70472c37 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:06.. AMDGPU/GlobalISel: Use extended LLTs in AMDGPUCombinerHelper (#210102) Here we also had to change comparisons to extended LLTs to avoid matching bfloats. In the old scalar version, before the switch to extended LLTs, s16 was treated as f16 and bf16 was combined as if it were f16. https://invent.kde.org/qt/clang/llvm-project/-/commit/066fba24b425211e80deb4486ba56ddf70472c37 Git commit 499fd10534993eec4aefc8f06026fc4876bbd371 by GitHub (on behalf of Louis Dionne) on 20/07/2026 at 13:09.. [libc++] Run macOS CI on self-hosted runners instead of Github ones (#210124) This should increase our capacity and allow better turn around times, and potentially unblock additional test coverage. Note that this change implies that the self-hosted runners provide a version of Xcode that is supported by libc++ (the latest released one), which is currently the case. https://invent.kde.org/qt/clang/llvm-project/-/commit/499fd10534993eec4aefc8f06026fc4876bbd371 Git commit 03b780679bdb5152aef0182dfc8b2f1d182a94e0 by GitHub (on behalf of Thurston Dang) on 20/07/2026 at 13:13.. [libc++][test] Fix build failure from typo in #171785 (#210552) If `__STDCPP_DEFAULT_NEW_ALIGNMENT__` is not defined, these tests will fail to build due to a typo that was added in #171785. https://invent.kde.org/qt/clang/llvm-project/-/commit/03b780679bdb5152aef0182dfc8b2f1d182a94e0 Git commit 8888665966f14abfac4f2c352846abfc1212d8e5 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:18.. AMDGPU/GlobalISel: Fix type mismatch in regbank combiner for applyD16Load (#210103) https://invent.kde.org/qt/clang/llvm-project/-/commit/8888665966f14abfac4f2c352846abfc1212d8e5 Git commit 743813d10023a0616833062f5d448284022b8063 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:18.. GlobalISel: Use extended LLTs in lshr narrow combine (#210298) https://invent.kde.org/qt/clang/llvm-project/-/commit/743813d10023a0616833062f5d448284022b8063 Git commit a8617034c4a7cc733676a31b736d3118fec34259 by GitHub (on behalf of Hubert Tong) on 20/07/2026 at 13:36.. [libc++][utils] Fix LIT `%if` substitution support (#209358) Update the applySubstitutions call in `libcxx/utils/libcxx/test/format.py` to match the change to `llvm/utils/lit/lit/TestRunner.py` done in 1041a9642ba0. https://invent.kde.org/qt/clang/llvm-project/-/commit/a8617034c4a7cc733676a31b736d3118fec34259 Git commit 3fc6711ccaf60c15371402c3ee7776fde5f01b4f by GitHub (on behalf of zhijian lin) on 20/07/2026 at 13:37.. [PowerPC]optimize the epilogue for restore non volatile cr fields (#202339) For AIX and ELFv2 ABI, 1. When we only spill one non-volatile CR field , using one mfocrf/mtocrf instruction. 2. when spill two or more non-volatile CR fields, using one mfcr/mtcr instead of multi mfocrf/mtocrf instructions https://invent.kde.org/qt/clang/llvm-project/-/commit/3fc6711ccaf60c15371402c3ee7776fde5f01b4f Git commit faf7261308da236627ae8f813d17d6e1ef1e9d68 by GitHub (on behalf of Louis Dionne) on 20/07/2026 at 13:38.. [libc++] Bring std::{any,all,none}_of tests up to current standards (#209266) The tests for these algorithms were minimal, didn't test all iterator categories, and the constexpr coverage didn't follow our current practice. This patch brings all three tests (which are very similar) up to our current standards. Assisted by Claude https://invent.kde.org/qt/clang/llvm-project/-/commit/faf7261308da236627ae8f813d17d6e1ef1e9d68 Git commit 44e37579d19c7d0965166808c77f9e7ebf407df9 by GitHub (on behalf of Kareem Ergawy) on 20/07/2026 at 13:43.. [flang][PFT-to-MLIR] reset Evaluation blocks between entry-point passes (#210681) A subprogram with an alternate ENTRY is lowered by walking the shared PFT once per entry. Evaluation::block is populated during each walk (top-level createEmptyBlocks and inside wrapUnstructuredConstruct's own createEmptyBlocks), but the second pass previously inherited stale pointers into the first entry's function/wrap regions. For a wrappable IfConstruct nested inside a structured container, the entry block that genFIR(IfConstruct) starts before creating its scf.execute_region then sent the builder into the previous entry's region, and the wrap plus its inner load ended up in the wrong func: subroutine foo(a) integer a entry bar(a) if (a .eq. 1) then if (a .ne. 3) stop end if end subroutine produced both scf.execute_region ops in _QPfoo, with an inner fir.load referencing bar's %arg0 — 'fir.load' op using value defined outside the region. Fix: null every Evaluation::block in the shared PFT at the start of each entry-point pass, so createEmptyBlocks fills a clean tree and later reads (in particular the landing-pad reposition in genFIR(IfConstruct)) never see a pointer from a prior pass. Co-authored-by: Claude Opus 4.7 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/44e37579d19c7d0965166808c77f9e7ebf407df9 Git commit 2a33792a2ec1a980259bd9388834e3c1fa53af3d by GitHub (on behalf of Matthias Wippich) on 20/07/2026 at 13:50.. [clang][NFC] move traits to tablegen (#201491) This patch moves all traits to a tablegen file. The motivation for this change is a review comment in https://github.com/llvm/llvm-project/pull/142341 - since then about a year has passed and we've accumulated 9 standard names that are maintained separately from their corresponding trait definitions. For transform type traits we keep the standard names around as well. While this is still a reasonably low number, it is definitely going to keep increasing. https://invent.kde.org/qt/clang/llvm-project/-/commit/2a33792a2ec1a980259bd9388834e3c1fa53af3d Git commit 0549fbe55ba4f9fc172591a61b04700d4ff5045e by GitHub (on behalf of Daemon) on 20/07/2026 at 13:54.. [GlobalISel] Synchronize GISelValueTrackingAnalysis behavior across Legacy and New PM paths (#207013) This patch aligns the New Pass Manager (NPM) implementation of `GISelValueTrackingAnalysis::run()` with the Legacy pass manager by dynamically adjusting the maximum search depth based on the optimization level. This eliminates behavioral discrepancies between the two code paths, reducing migration risks and ensuring consistent compilation performance and code generation quality across both code paths. https://invent.kde.org/qt/clang/llvm-project/-/commit/0549fbe55ba4f9fc172591a61b04700d4ff5045e Git commit 97a105f8e681e8e9e5778b6f8bf95a8c365a05f6 by GitHub (on behalf of Sergio Afonso) on 20/07/2026 at 14:01.. [Flang][OpenMP] Allow `parallel loop` inside of `teams` (#210679) A missing `parallel_loop` directive in the `nestedTeamsAllowedSet` currently causes code like the following to report a semantics issue: ```f90 !$omp teams !$omp parallel loop do i=1, 10 end do !$omp end teams ``` This patch makes sure to accept it, since `parallel` is an allowed construct to be immediately nested inside of `teams`, even when combined with another construct. https://invent.kde.org/qt/clang/llvm-project/-/commit/97a105f8e681e8e9e5778b6f8bf95a8c365a05f6 Git commit e16e6077cbc2b0ab6335dd4dc67e3a6318b1ad3a by GitHub (on behalf of Florian Hahn) on 20/07/2026 at 14:21.. [SCEV] Use m_scev_AffineAddRec in get{Zero,Sign}ExtendExprImpl (NFC) (#210082) It's a small win in number of lines, and reduces the nesting level a bit. Suggested in https://github.com/llvm/llvm-project/pull/208805 PR: https://github.com/llvm/llvm-project/pull/210082 https://invent.kde.org/qt/clang/llvm-project/-/commit/e16e6077cbc2b0ab6335dd4dc67e3a6318b1ad3a Git commit 35aa7b529ebeafc9767a4c5398047a92b86bd4a8 by GitHub (on behalf of Erich Keane) on 20/07/2026 at 14:32.. Ensure that we properly propagate template decl attributes to redecls (#209873) Variable and class templates weren't forwarding their declaration attributes that were attached directly to them (at the moment, the only one I could find that had this issue is the no_specialization attr). The result was that intermediate redeclarations would prevent the diagnostics from happening. This patch ensures we propagate them properly for variable and class templates. It seems our function templates already do the right thing. Fixes: #209812 https://invent.kde.org/qt/clang/llvm-project/-/commit/35aa7b529ebeafc9767a4c5398047a92b86bd4a8 Git commit b16c5f7cc88c9f41d904cc73d5618cc7453ac862 by GitHub (on behalf of yinghao) on 20/07/2026 at 14:33.. [NVPTX] Clear unsafe kill flags in NVPTXProxyRegErasure (#198143) Fixes #198142 After replacing regsiter, stale `killed` flags my leave on non-terminal uses, breaking liveness and triggering MachineVerifier errors. Fix this by conservatively dropping the `killed` flag on `ToReg`. https://invent.kde.org/qt/clang/llvm-project/-/commit/b16c5f7cc88c9f41d904cc73d5618cc7453ac862 Git commit bb5c8d5bea4817a2447d9acfdb7ef11c4323ddac by GitHub (on behalf of Ömer Sinan Ağacan) on 20/07/2026 at 14:33.. [LangRef] Add immarg attributes to memcpy, memset, memmove isvolatile args (#210669) https://invent.kde.org/qt/clang/llvm-project/-/commit/bb5c8d5bea4817a2447d9acfdb7ef11c4323ddac Git commit 1ed1ca59245bfa949919f31cef5fd5c87c20c6ec by GitHub (on behalf of Momchil Velikov) on 20/07/2026 at 14:35.. Re-commit: [GVN] Remove the "private" `llvm::gvn` namespace (NFC) (#210712) Re-commit of https://github.com/llvm/llvm-project/pull/210323 after adding a forward declaration for GVNLegacyPass class to work around GCC compilation failure. Move `AvailableValue` and `AvailableValueInBlock` into GVNPass, similar to other helper types. Retain `llvm::gvn::GVNLegacyPass` as just `llvm::GVNLegacyPass` - "legacy" is already a sufficent hint and it is not going to become more "private" by stacking "gvn" prefixes to the name. Ideally, `GVNLegacyPass` should be defined in an anonymous namespace, but that is not possible because it is declared as a friend of GVNPass. https://invent.kde.org/qt/clang/llvm-project/-/commit/1ed1ca59245bfa949919f31cef5fd5c87c20c6ec Git commit 6998fd59e16026a00fee8e83243c0ec91047fee3 by GitHub (on behalf of Yaxun (Sam) Liu) on 20/07/2026 at 14:37.. [AMDGPU] Print max-BB inline rejections https://invent.kde.org/qt/clang/llvm-project/-/commit/6998fd59e16026a00fee8e83243c0ec91047fee3 Git commit 6f744fb04cf1cf30b45ff73883566eeebb7eeb7d by GitHub (on behalf of forking-google-bazel-bot[bot]) on 20/07/2026 at 14:45.. [Bazel] Fixes 2a33792 (#210726) This fixes 2a33792a2ec1a980259bd9388834e3c1fa53af3d. Buildkite error link: https://buildkite.com/llvm-project/upstream-bazel/builds?commit=2a33792a2ec1a980259bd9388834e3c1fa53af3d Co-authored-by: Google Bazel Bot <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/6f744fb04cf1cf30b45ff73883566eeebb7eeb7d Git commit 4c5b4f40c4ac77f1b50a90451fd040356748ac6a by GitHub (on behalf of Sergey Semenov) on 20/07/2026 at 14:54.. [libsycl][E2E] Compile all E2E tests with -fsycl (#204115) https://invent.kde.org/qt/clang/llvm-project/-/commit/4c5b4f40c4ac77f1b50a90451fd040356748ac6a Git commit 2549a2c39b4b86b035df052948bd3f867728b075 by GitHub (on behalf of Sergey Semenov) on 20/07/2026 at 14:55.. [libsycl][NFC] Move the cmake msvc DLL check (#193485) Addresses a review comment from https://github.com/llvm/llvm-project/pull/188770 https://invent.kde.org/qt/clang/llvm-project/-/commit/2549a2c39b4b86b035df052948bd3f867728b075 Git commit 7bbed7999de1a60c790a3b0f01d965c18fd832e8 by GitHub (on behalf of Slava Zakharin) on 20/07/2026 at 15:10.. [flang] Fold reads of fir.create_box components (#210388) Fold fir.box_addr and constant-dimension fir.box_dims of a descriptor built by fir.create_box back to the operands that built it, so the create_box can die when nothing consumes it as a real descriptor. fir.array_coor is intentionally not folded through create_box, since that would drop its explicit byte strides. Assisted-by: Cursor https://invent.kde.org/qt/clang/llvm-project/-/commit/7bbed7999de1a60c790a3b0f01d965c18fd832e8 Git commit b2d3db9bfb01ceb821b38dfc57f7965b09f602cf by GitHub (on behalf of Jinsong Ji) on 20/07/2026 at 15:17.. [SCEV] Derive element size from the access's own pointer address space (#209824) ScalarEvolution::getElementSize always derived the element-size SCEV using a generic address-space-0 pointer index type. On targets whose data layout uses different pointer index widths per address space (for example, where some address spaces use 32-bit pointers and others 64-bit), a load/store through a narrow address space produced an access function SCEV of one width but an element-size SCEV of another. Delinearization then called SCEVDivision::divide with numerator and denominator of mismatched types, tripping the assertion added in a9d295d615a8 once the implicit sign-extension was removed in 23a32bcedb91. Derive the index type from the memory access's actual pointer operand address space so the element-size SCEV matches the width of the access function's SCEV. https://invent.kde.org/qt/clang/llvm-project/-/commit/b2d3db9bfb01ceb821b38dfc57f7965b09f602cf Git commit 9c024f3a83cf2469b27ae42c1a8d3ab635da3dc1 by GitHub (on behalf of YongKang Zhu) on 20/07/2026 at 15:35.. [BOLT] Drop option --instrument-funcs-file (#210217) https://invent.kde.org/qt/clang/llvm-project/-/commit/9c024f3a83cf2469b27ae42c1a8d3ab635da3dc1 Git commit 34aefe9744fa83fa222d7f28e073c693c2c4ff5b by GitHub (on behalf of Brian Cain) on 20/07/2026 at 15:42.. [Hexagon] Fix compiler-rt install dir type, scope sanitizers (#209375) COMPILER_RT_INSTALL_LIBRARY_DIR must be CACHE STRING, not CACHE PATH: a relative PATH-typed cache entry resolves against the runtimes sub-build directory instead of CMAKE_INSTALL_PREFIX, misplacing sanitizer libs. Replace the explicit COMPILER_RT_BUILD_* ON list with COMPILER_RT_SANITIZERS_TO_BUILD=all, since those options already default ON upstream and infeasible sanitizers self-exclude via their own ALL_<X>_SUPPORTED_ARCH lists. Add FORCE to the dylib overrides so they take effect after hexagon-unknown-linux-musl-clang-dist.cmake has already cached them OFF. https://invent.kde.org/qt/clang/llvm-project/-/commit/34aefe9744fa83fa222d7f28e073c693c2c4ff5b Git commit c84d20b18026fc230a7957c8faf3cf3a40d9cb55 by GitHub (on behalf of Pavel Labath) on 20/07/2026 at 15:44.. [libc] Fix sockatmark test (#210655) When writing the test, I assumed that (linux) domain sockets do not support OOB data, and that sockatmark returns 0, because it can never read it. In fact, as of 2021, linux does support OOB on domain sockets, but this feature can be turned off at build time (CONFIG_AF_UNIX_OOB). In this case (or in the case of older kernels), the kernel returns an error (and the test fails). Armed with this knowledge, I modify the test to test both "1" (OOB present) and "0" (no OOB data) cases by actually sending OOB data into the socket. I use the send call to determine the presence of OOB support, and have the test skip itself if it is absent. OOB data only makes sense on stream sockets, so change the socketpair type to that. --------- Co-authored-by: Jeff Bailey <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/c84d20b18026fc230a7957c8faf3cf3a40d9cb55 Git commit 5a19a3a4b9915d19fff1b8298e723ee2b24ebc6a by GitHub (on behalf of Nerixyz) on 20/07/2026 at 15:45.. [lldb][Windows] Only embed Python home in Debug config (#209464) On Windows, we used to embed `PYTHONHOME` by default on Windows. In the documentation, we say > This is most useful for developers who simply want to run LLDB after they build it. Since we use the limited/stable API now, we're less restricted in the Python version, so I think it's less of an issue that LLDB won't find Python. The only configuration where it might cause issues is the debug configuration, since, when installing Python, you usually don't include the debug libraries. Thus, you might not have the debug version (`python3_d.py`) of Python in your PATH. https://invent.kde.org/qt/clang/llvm-project/-/commit/5a19a3a4b9915d19fff1b8298e723ee2b24ebc6a Git commit 0c0d9ff3b01b5709bda34198a01da2f19b88650e by GitHub (on behalf of Alexey Bataev) on 20/07/2026 at 15:47.. [SLP][NFC]Add a test with fmuladd copyables candidates, NFC Reviewers: Pull Request: https://github.com/llvm/llvm-project/pull/210744 https://invent.kde.org/qt/clang/llvm-project/-/commit/0c0d9ff3b01b5709bda34198a01da2f19b88650e Git commit b7810e97d6281f65e255b36af7b39af18d3d2006 by GitHub (on behalf of Tom Stellard) on 20/07/2026 at 15:52.. workflows/release-documentation: Add missing secrets (#210421) https://invent.kde.org/qt/clang/llvm-project/-/commit/b7810e97d6281f65e255b36af7b39af18d3d2006 Git commit 9ba8a3c8ebf0dee73c7e3e1aa8ae0a81dd6439c7 by GitHub (on behalf of Jay Foad) on 20/07/2026 at 15:54.. [AMDGPU] Use simpler form of applyWaitcnt. NFC. (#210736) https://invent.kde.org/qt/clang/llvm-project/-/commit/9ba8a3c8ebf0dee73c7e3e1aa8ae0a81dd6439c7 Git commit 95f39100f1c1dab2aefbdc42d6e9ca26955535d1 by GitHub (on behalf of Caroline Newcombe) on 20/07/2026 at 16:04.. Redo [flang][OpenMP] Implement collapse for imperfectly nested loops (#208528) Relands https://github.com/llvm/llvm-project/pull/202435, reverted in https://github.com/llvm/llvm-project/pull/208456 because it broke lowering of labeled DO loops under collapse with host-evaluated bounds. https://invent.kde.org/qt/clang/llvm-project/-/commit/95f39100f1c1dab2aefbdc42d6e9ca26955535d1 Git commit bf2c381c6f9609428f1bfcc8e572cadefdf7e5c9 by GitHub (on behalf of parya03) on 20/07/2026 at 16:09.. [ARM] Add strict uint to FP conversion handling during operation legalization (#208554) Currently, strict uint to FP conversions for the ARM backend end up falling through to software emulation. This commit allows them to be correctly handled using the corresponding vcvt instruction. https://invent.kde.org/qt/clang/llvm-project/-/commit/bf2c381c6f9609428f1bfcc8e572cadefdf7e5c9 Git commit 65bd2df84bb9e6ee8513a313840d8e2096c82e4d by GitHub (on behalf of Aleksandr Popov) on 20/07/2026 at 16:19.. [SCEV] Tighten loop guards range check idiom (#210387) Previously, the idiom matcher derived the clamp range only from the raw `(LHS + C1) u< C2` form and rejected wrapped or full ranges. Intersect the derived range with the known unsigned range of `LHSUnknown`. This can reduce wrapped or full ranges to a usable interval and allows the matcher to extract clamps in more cases. Related to https://github.com/llvm/llvm-project/issues/208778 https://invent.kde.org/qt/clang/llvm-project/-/commit/65bd2df84bb9e6ee8513a313840d8e2096c82e4d Git commit 53136bd4b70071169edbae1fd9149a9f4fca6c8c by GitHub (on behalf of Eugene Epshteyn) on 20/07/2026 at 16:25.. [flang][NFC] Remove unreachable legacy FORALL/WHERE lowering code from Bridge.cpp (#210639) The HLFIR lowering migration left a cluster of legacy, now-unreachable code in Bridge.cpp behind. None of it has a live caller (FORALL is lowered by genForallNest; DO CONCURRENT by getConcurrentControl): - forceControlVariableBinding and the old DoLoopOp-based genFIR(const parser::ConcurrentHeader &) FORALL-nest lowering (the ConcurrentHeader is not a PFT evaluation node and is never visited). - The member genInitializerExprValue, implicitIterationSpace/ explicitIterationSpace, genArrayAssignment, and the NDEBUG-only isFuncResultDesignator. - The analyzeExplicitSpace overload set, analyzeExplicitSpacePop, and addMaskVariable. - The explicitIterSpace / implicitIterSpace members. These were the only Bridge.cpp users of the legacy expression lowering (createSome*Assignment / createSomeInitializerExpression) and of IterationSpace, so their includes (ConvertExpr.h, IterationSpace.h, and Runtime/Ragged.h, used only by addMaskVariable) are removed as well. Assisted-by: AI https://invent.kde.org/qt/clang/llvm-project/-/commit/53136bd4b70071169edbae1fd9149a9f4fca6c8c Git commit 4158229224381e8038617d9e25b8e152551f5e08 by GitHub (on behalf of Matheus Izvekov) on 20/07/2026 at 16:27.. [clang] fix a crash for uses of a pseudo-destructor of enum without definition (#210424) Lookup for the destuctor name in the object type only applies to record types. Since this will be backported, there are no release notes. Fixes #209808 https://invent.kde.org/qt/clang/llvm-project/-/commit/4158229224381e8038617d9e25b8e152551f5e08 Git commit 272378ef3ce1cbddb37b5c2b1ffe595a123e04fd by GitHub (on behalf of Matthias Wippich) on 20/07/2026 at 16:30.. [clang][NFC] Extract LookupOverloadedUnaryOp (#210567) This patch extracts `LookupOverloadedUnaryOp` from `CreateOverloadedUnaryOp` for consistency with `LookupOverloadedBinOp`/`CreateOverloadedBinOp`. https://invent.kde.org/qt/clang/llvm-project/-/commit/272378ef3ce1cbddb37b5c2b1ffe595a123e04fd Git commit bdfcef52762c746d82326b2e4ce9b2ba470551f4 by GitHub (on behalf of Matthias Wippich) on 20/07/2026 at 16:34.. [clang] improve diagnostics for enums (#204682) This patch makes clang attempt printing enumerator names rather than C-style cast expressions in more diagnostics (notably static_assert) iff the value matches an enumerator exactly. For example, consider a static assertion `static_assert(E == TestEnum::B);` where `E` is a constant template argument. Assuming `(TestEnum)1 == TestEnum::A`, this changes emitted diagnostics as follows: ``` // old static assertion failed due to requirement '(TestEnum)1 == TestEnum::B' // new static assertion failed due to requirement 'TestEnum::A == TestEnum::B' ``` https://invent.kde.org/qt/clang/llvm-project/-/commit/bdfcef52762c746d82326b2e4ce9b2ba470551f4 Git commit b80af9cc2d856e211fa6ac58959e46b5707e9d71 by GitHub (on behalf of Nishant Patel) on 20/07/2026 at 16:37.. [MLIR][XeGPU] Enhance unrolling of convert layout (#209822) This PR adds rewriteWithRegrouping to unroll ConvertLayoutOp by extracting at the input inst_data granularity and inserting at the target inst_data granularity for cancellation during canonicalization. Assisted by Claude https://invent.kde.org/qt/clang/llvm-project/-/commit/b80af9cc2d856e211fa6ac58959e46b5707e9d71 Git commit 160f9c15b9f1627364d33d56cd7d30fdcb0225ed by GitHub (on behalf of Ron Green [NVIDIA]) on 20/07/2026 at 16:46.. [flang][OpenACC] Allow blanks around ':' in more clause separators (#210446) Several OpenACC clause parsers glue a keyword directly to its `:` separator in the token string (`"DEVNUM:"`, `"QUEUES:"`, `"FORCE:"`, `"ZERO:"`, `"READONLY:"`). A blank in a `TokenStringMatch` pattern is the only place a blank is accepted between characters of the token, so these spellings rejected an otherwise valid separating space, e.g. ```fortran !$acc wait(devnum : 1 : 2, 3) !$acc loop collapse(force : 2) !$acc data copyin(readonly : a) create(zero : b) ``` This moves the blank in each token string to before the `:` so zero or more blanks are accepted on either side of the separator, matching free-form Fortran's treatment of blanks and the spec grammar (which writes these with spaces around the `:`). It mirrors the earlier fix for the gang `static`/`dim`/`num` arguments. Parser/unparse coverage is added for the spaced spellings of the wait `devnum`/`queues` argument, the collapse `force` modifier, and the `zero` and `readonly` data modifiers. Assisted-by: AI https://invent.kde.org/qt/clang/llvm-project/-/commit/160f9c15b9f1627364d33d56cd7d30fdcb0225ed Git commit cfddcac22dabf01901424b746c94d3b6c9bddc4a by GitHub (on behalf of Caroline Newcombe) on 20/07/2026 at 16:59.. [flang][OpenMP] Fix new metadirective-loop-nest.f90 test expectation with collapse changes in #208528 (#210753) https://invent.kde.org/qt/clang/llvm-project/-/commit/cfddcac22dabf01901424b746c94d3b6c9bddc4a Git commit 331e5641480d24de1951d30ef6b10362ab3b6acf by GitHub (on behalf of Bhavesh M) on 20/07/2026 at 17:01.. [mlir][EmitC] Create a pass to add a reflection map to a class (#205464) This creates the `add-reflection-map` pass to add a reflection map and a helper method to EmitC classes for runtime field lookup. Details: - Add headers to import `map` and `string` if not already present. - For every `ClassOp`: - Collect all the `FieldOp`s that contain the attribute whose value we want as the reflection map key. We ignore all `FieldOp`s that contain an attribute present in `excludedFieldAttrs` and if there's a `FieldOp` that neither has the attribute we're looking for and isn't excluded by the presence of one of the `excludedFieldAttrs`, emit and error. - Create the reflection map where the key is the value of the attribute in each applicable `FieldOp`'s attribute dictionary and the value is a pointer to the field's contents. - Create a `getBufferForName` method which serves as a getter method for the reflection map. Based on PR #150572. Key differences: - Adds a `excluded-field-attrs` option which is a list of attributes that if present on a field exclude it from the reflection map. - Adds a helper method called `getBufferForName` which given a string key returns a pointer to the field's buffer. Co-authored-by: Jaden Angella <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/331e5641480d24de1951d30ef6b10362ab3b6acf