[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/kparzysz/e05-switch-clauseset'.
Changed from fb90ae1699b84ea8d3b618ca7092004cc3768061 to e2ddf435a2d759c77ba6d39774fb8fecdad8bbc5
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 8d933f7478435d35b6f3b6123318f1e353adea88 by GitHub (on behalf of Joshua Batista) on 23/07/2026 at 17:13..
Add InterlockedAdd resource methods (#208128)

This PR builds upon the work merged in
https://github.com/llvm/llvm-project/pull/195742, and completes the
implementation of the InterlockedAdd functions in HLSL, by adding these
methods to the existing resource types.
Fixes: https://github.com/llvm/llvm-project/issues/99122
Assisted by: Github Copilot
https://invent.kde.org/qt/clang/llvm-project/-/commit/8d933f7478435d35b6f3b6123318f1e353adea88

Git commit 710cca19f0d1d95174cc52bc41df56c26b9f19d2 by GitHub (on behalf of Florian Hahn) on 23/07/2026 at 17:15..
[LV] Use planner's TTI in executePlan instead of CM.TTI (NFC) (#211588)

LoopVectorizationPlanner already holds TTI, no need to go through CM.
https://invent.kde.org/qt/clang/llvm-project/-/commit/710cca19f0d1d95174cc52bc41df56c26b9f19d2

Git commit 89e637a8dca75d4a71e4a1ce669397d59ce77ab7 by GitHub (on behalf of Shilei Tian) on 23/07/2026 at 17:15..
[NFC][AMDGPU] Remove reundant run lines from two test cases (#211575)
https://invent.kde.org/qt/clang/llvm-project/-/commit/89e637a8dca75d4a71e4a1ce669397d59ce77ab7

Git commit 7f140055b724bfd0759807b79ee1b8544f023340 by GitHub (on behalf of Louis Dionne) on 23/07/2026 at 17:21..
[libc++] Pin down the compiler in the various benchmark scripts and jobs (#211563)

We have various scripts that build and test the library at pinpointed
commits: benchmark-historical, run-benchmarks, build-at-commit and
test-at-commit. They were handling the compiler in different ways: some
scripts would just run the libc++ build (or test suite configuration)
without specifying the compiler, which means the $CXX environment
variable was used if present. Other scripts (e.g. run-benchmarks) would
accept the compiler as an argument, but would fail to pass it down when
configuring the test suite, which led to issues.

This patch passes the compiler explicitly in all scripts: this removes
any potential confusion around how the compiler should be specified (env
var or argument). The only exception is build-at-commit, where the
compiler is still specified by passing the appropriate CMake arguments.
The reason for this exception is that passing arguments to CMake is
actually the way we want to configure aspects of the build (and the test
suite) in the long term, it's just that the test suite doesn't support
this cleanly due to the CMake/Lit split at the moment.

In the longer term, `test-at-commit` should also lose its `--compiler`
argument in favour of being able to pass CMake parameters to the test
suite configuration, but we are not there yet.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7f140055b724bfd0759807b79ee1b8544f023340

Git commit 36916031c97477f8d865488185cfb7da89aa5d21 by GitHub (on behalf of Farzon Lotfi) on 23/07/2026 at 17:23..
[SPIRV][Matrix] Change Matrix Shader legalization to largest common divisor (#207768)

fixes #186864

New process for matrix legalization documented here:
https://github.com/llvm/wg-hlsl/pull/446

The current Matrix legalization strategy is to take a vector of and
expanded to a larger power of 2 vector and then split it into vectors of
size 4. For example a vector of size 6 is expanded to 8, and then split.

This creates uniform 4-lane chunks but requires padding. For example
`<12>`-->`<16>`, `<6>`-->`<8>`, `<9>`-->`<16>`. These forces an illegal
wide `G_BUILD_VECTOR` with undef lanes. This padding wastes lanes and
  adds undef bookkeeping the backend must then clean up.

Instead This PR splits both operands into `W`-lane chunks, where `W` is
the largest divisor of the element count in `[2, MaxVectorSize]` shared
by source and destination (`<12>`-->3×`<4>`, `<6>`-->2×`<3>`,
`<9>`-->3×`<3>`), and emit chained per-chunk `OpVectorShuffle`s. This
keeps every chunk a legal SPIR-V vector with no undef padding and
preserves vectorized `OpDot`/`OpSelect` downstream.

Assisted with Claude Opus 4.8 via Co-pilot
https://invent.kde.org/qt/clang/llvm-project/-/commit/36916031c97477f8d865488185cfb7da89aa5d21

Git commit c98ace924d8bd6ce357a993832c9dffde0806823 by GitHub (on behalf of Valery Pykhtin) on 23/07/2026 at 17:34..
[NFC][AMDGPU] Use SIInstrFlags predicates in AMDGPUAsmParser (#210998)
https://invent.kde.org/qt/clang/llvm-project/-/commit/c98ace924d8bd6ce357a993832c9dffde0806823

Git commit 04b71a38393a85db49047d547fd9d94aafa1857b by GitHub (on behalf of vangthao95) on 23/07/2026 at 17:48..
[AMDGPU] Regenerate failing packed-fp64.ll test (#211616)

Missed this one in https://github.com/llvm/llvm-project/pull/211598.
https://invent.kde.org/qt/clang/llvm-project/-/commit/04b71a38393a85db49047d547fd9d94aafa1857b

Git commit 8f64a4806ffbf577a91390750c2701de2c6496af by GitHub (on behalf of Ian.han) on 23/07/2026 at 17:50..
[sanitizer_common] Don't crash in fopen64 interceptor when path is NULL (#211468)

`fopen` was fixed to tolerate a NULL `path` in 2015 (1d1be3dd8822), and
`freopen`/`freopen64` carry the same `if (path)` guard. `fopen64` was
missed, so `fopen64(NULL, mode)` dereferences NULL inside the
interceptor and crashes under sanitizers, even though real `fopen64`
would just return NULL/EFAULT.

Add the missing `if (path)` guard, plus a regression test mirroring
`fopen_nullptr.c`. Since `fopen64` is only intercepted on glibc
(`SANITIZER_INTERCEPT_FOPEN64`), the test is placed under `Linux/` and
gated with `// REQUIRES: glibc`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8f64a4806ffbf577a91390750c2701de2c6496af

Git commit 88d17fa88fb58d8b2d64e923dc4dc7b043201b87 by GitHub (on behalf of Jessica Clarke) on 23/07/2026 at 18:00..
[NFC][test][ELF] Check DSO's ifunc2 is in .iplt in aarch64-ifunc-bti.s (#210618)

This mirror's the PIE's CHECK lines, which were already stricter.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
https://invent.kde.org/qt/clang/llvm-project/-/commit/88d17fa88fb58d8b2d64e923dc4dc7b043201b87

Git commit 50ce5f724db70b9b520002fda1098dc19a87ff07 by GitHub (on behalf of Jessica Clarke) on 23/07/2026 at 18:00..
[NFC][test][ELF] Improve ppc32-ifunc-nonpreemptible-(no)pic.s (#210611)

Firstly, the nopic test had an unused HEX check line when it should have
been checking .got.plt, and the pic test was only checking .got2, also
ignoring .got.plt.

Secondly, the indentation for instructions was inconsistent within a
single file.

Thirdly, neither test was actually checking the code for func's IPLT
entry in .glink, only that the symbol existed as a normal function that
wasn't the same as the resolver, and the nopic test wasn't even testing
the full contents of the PLT call stub, which was inconsistent with the
pic test.

Fourthly, the pic test used the same output file for two different
links, which can be confusing when debugging.

Finally, the comment at the start of the pic test's PLT call stub had no
bearing on the immediate in use, instead being the same as the nopic's
one with the 4 subtracted from both sides (presumably trying to account
for the nopic test not having the extra .got2 entry, but neglecting the
fact that it's not using absolute addressing, and even if it were, the
addresses are entirely different).

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
https://invent.kde.org/qt/clang/llvm-project/-/commit/50ce5f724db70b9b520002fda1098dc19a87ff07

Git commit 81820b5112017197045418813457dd6eb35aac08 by GitHub (on behalf of Jonas Devlieghere) on 23/07/2026 at 18:04..
[lldb] Skip the WebAssembly function header when setting a breakpoint (#211289)

A WebAssembly function begins with a local variable declaration header
that is part of the function but is not an executable instruction. A
breakpoint at a raw function start, such as one added by a scripted
resolver, landed on the header and could never be hit. Name and
file-and-line breakpoints already move past it, because that is handled
at the line-table level.

The disassembler already skipped this header inline. Move that logic
behind a new Architecture:: SkipFunctionHeader hook, implemented
by a new WebAssembly architecture plugin, and call it from both the
disassembler and Breakpoint::AddLocation so any breakpoint resolves to
the first instruction.
https://invent.kde.org/qt/clang/llvm-project/-/commit/81820b5112017197045418813457dd6eb35aac08

Git commit df68991c067e505233856f7399772d424f89478f by GitHub (on behalf of Vijay Kandiah) on 23/07/2026 at 18:05..
[flang][cuda] Fix CUFPredefinedVarToGPU for a shared builtin address_of (#211628)

`CUFPredefinedVarToGPU` rewrites references to the predefined CUDA
builtins (`threadidx`/`blockidx`/`blockdim`/`griddim`) into GPU special-register
reads. For each predefined-var `fir.declare` it also erased the declare's
backing `fir.address_of`. That assumed every declare owns a
private `address_of`, which is only true before CSE. Once a single
`fir.address_of` of a builtin is shared by several `fir.declare`s — e.g.
after a `device` routine is inlined into a `global` kernel and CSE coalesces the
duplicated `address_of` ops — the pass queued that one op for deletion
once per declare and erased it while another declare still used it, thus aborting
compilation with `'fir.address_of' op operation destroyed but still has uses` error.

With this PR, the backing ops are collected into a de-duplicated set and
erased after all predefined declares are gone, and only when `use_empty()`.
This makes the deletion safe regardless of how many declares share an
`address_of`, and leaves it untouched if any other user remains.
https://invent.kde.org/qt/clang/llvm-project/-/commit/df68991c067e505233856f7399772d424f89478f

Git commit 2f730a82cc6cb71d2b1a86dbb67927a72a54aec6 by GitHub (on behalf of Matt Arsenault) on 23/07/2026 at 18:10..
llvm-mca: Stop defaulting to "native" for the CPU (#211612)

This would warn whenever using a triple that isn't for the host
architecture. Other tools don't do this. Copy what llc does and
default to no cpu.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2f730a82cc6cb71d2b1a86dbb67927a72a54aec6

Git commit ac61623826d858333039ff56ef60e91afd295c5f by GitHub (on behalf of Amr Hesham) on 23/07/2026 at 18:11..
[CIR] Implement convert to atomic intptr through temp alloca (#210794)

Implement the conversion to atomic int pointer through temp alloca
https://invent.kde.org/qt/clang/llvm-project/-/commit/ac61623826d858333039ff56ef60e91afd295c5f

Git commit aa00eae9f05129c05a39446a85746502b0f7bd9b by GitHub (on behalf of Alexey Bataev) on 23/07/2026 at 18:17..
[SLP][NFC]Add a test with the reassociative fma, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/211635
https://invent.kde.org/qt/clang/llvm-project/-/commit/aa00eae9f05129c05a39446a85746502b0f7bd9b

Git commit d8f7777f4030ba7b4d0643399c87a0fcc17f648a by GitHub (on behalf of syhhyl) on 23/07/2026 at 18:21..
[clang][test] Add Darwin pragma weak alias IR coverage (#211499)

Add Clang IR coverage for `#pragma weak alias = target` on Darwin.

The test verifies that Clang:

- emits the alias with weak linkage;
- keeps calls referencing the alias instead of replacing them with the
aliasee.

This is a test-only follow-up to #198148 and covers the Clang lowering
path used by #111321.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d8f7777f4030ba7b4d0643399c87a0fcc17f648a

Git commit 777bc94e1020c760466f074c1cc6837a2dc64f98 by GitHub (on behalf of Tim Besard) on 23/07/2026 at 18:22..
[NVPTX] Lower allocas to the local address space (#204346)

Alternative to #201772.

When SelectionDAG expands a small memcpy/memmove/memset it can raise the
alignment of the
destination stack object, but only when the destination is a bare
FrameIndex. Since #121710,
NVPTX treats allocas as assumed-local, and InferAddressSpaces rewrites
the intrinsic
operands to addrspacecasts. ISel no longer sees the frame index, the
alignment isn't raised,
and small unaligned copies are expanded byte-by-byte. We observed up to
1.9x slower kernels
in JuliaGPU/CUDA.jl#3162.

#201772 fixed this in SelectionDAG by looking through addrspacecasts to
recover the stack
object. Per review feedback there, this PR takes a different approach:
NVPTXLowerAlloca now
turns each generic alloca into an equivalent addrspace(5) alloca plus
one cast back to the
generic address space for existing users. The normal InferAddressSpaces
pass then propagates
the local address space into loads/stores and folds the cast away where
possible. At -O0,
the cast remains, but the underlying frame object is still local, so
stack lowering
addresses it correctly.

Making allocas actually local requires NVPTX stack lowering changes:

- eliminateFrameIndex resolves addrspace(5) frame indices against the
local frame pointer
%SPL. Previously every frame index used the generic %SP, which
mis-addresses local stores
  and double-converts escapes.

- LowerDYNAMIC_STACKALLOC returns the local pointer instead of always
casting to generic
  when the requested result type is already local.

NVPTX still declares the alloca address space as 0, so allocas are
generic by default and
the pass must enforce locality, including at -O0. This PR is compatible
with making the DL
actually put allocas in AS5: the stack-lowering changes (%SPL frame
indices, local
LowerDYNAMIC_STACKALLOC) are needed regardless of how an alloca became
local and stay
correct under A5, while the scaffolding that only enforces the invariant
becomes unnecessary
and can be dropped.

cc @arsenm

---------

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/777bc94e1020c760466f074c1cc6837a2dc64f98

Git commit 6a230696441d7b2fa51e2887ef7664d2a73ae04d by GitHub (on behalf of Greg Clayton) on 23/07/2026 at 18:24..
Fix ProcessELFCore::GetProcessInfo() to return expected results. (#210807)

Getting the process info from ProcessELFCore would always return the
information from the prpsinfo.pr_psargs from the NT_PRPSINFO. This meant
if the process was launched with a symlink, the process info would
always claim the main executable was the symlink. We want the process
info's executable to always be the resolved executable when possible.
The DynamicLoaderPOSIXDYLD was using the process info to load the main
executable if it wasn't set, or it was comparing if the main
executable's module spec matched the process info, and if it didn't
match it would end up trying to load the main executable using the
process info. We also ask for the UUID from the process before trying to
use the process info to replace the executable in
DynamicLoaderPOSIXDYLD::ResolveExecutableModule().
https://invent.kde.org/qt/clang/llvm-project/-/commit/6a230696441d7b2fa51e2887ef7664d2a73ae04d

Git commit f7f9cc95db8d6447312bc45fc83ae81621a07213 by GitHub (on behalf of nvptm) on 23/07/2026 at 18:33..
[acc] Refine launch-dim handling for sequential block-redundant ancestors (#211153)

Sequential `gpu_block_redundant` ancestors need selective launch-dim
handling in `getAncestorParDims`: including them always widens
gang-private to per-thread; omitting them always can predicate
block-redundant bodies on `blockIdx` after partition.

Include launch dims when the block-redundant loop is worksharing or is
the innermost parallel parent; skip them for an outer sequential
block-redundant wrapper around nested worksharing.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f7f9cc95db8d6447312bc45fc83ae81621a07213

Git commit ee96eb78c540a0dbb5a5e03777ab69492c0350c7 by GitHub (on behalf of Matt Arsenault) on 23/07/2026 at 18:35..
AMDGPU: Convert new tests to subarch triples (#211584)

These are tests added after the recent batch migration to new
triples.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ee96eb78c540a0dbb5a5e03777ab69492c0350c7

Git commit 52bc4102acb630610c495107f5704c8321bd6548 by GitHub (on behalf of Mohammed Ashraf) on 23/07/2026 at 18:44..
[BoundsSafety] Introduce LateParsedAttrType AST placeholder type (#204125)

Split out from #179612 to make review easier. No functional change.

This introduces `LateParsedAttrType`, a new AST placeholder type used
during late parsing of type attributes. The actual late parsing
mechanism that uses this type is in #179612 and will be split into a
follow-up PR.
https://invent.kde.org/qt/clang/llvm-project/-/commit/52bc4102acb630610c495107f5704c8321bd6548

Git commit 1f93f282d476076fd8ce963d8b26b07f8587266b by GitHub (on behalf of Soham Karandikar) on 23/07/2026 at 18:45..
[Clang] [Sema] Added a check for `NameInfo` not being empty after template instantiation (#210610)

Fixes #210234 

As per my investigation (mostly following stack traces and dumping
variable values), a default empty `DeclarationNameInfo` was being
returned after template substitution [over
here](https://github.com/llvm/llvm-project/blob/c45b4e4d00bed488d6ece5608560561732ae5b9e/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp#L3270).

```cpp
// D-.>getNameInfo() has actual data here
 
 DeclarationNameInfo NameInfo
    = SemaRef.SubstDeclarationNameInfo(D->getNameInfo(), TemplateArgs);

// NameInfo has default values
```

This was being passed on directly to `CXXDestructorDecl::Create` leading
to the assertion being hit. This PR adds a check that ensures `NameInfo`
actually contains a valid destructor name before constructing a
`CXXDestructorDecl`. This fixes the assertion being hit in the
reproducer from the linked issue.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1f93f282d476076fd8ce963d8b26b07f8587266b

Git commit 77e879f967294d76376bf7a022092a1d6f3ed583 by GitHub (on behalf of Jon Roelofs) on 23/07/2026 at 18:46..
[libunwind][AArch64] Support .cfi_set_ra_state (#209950)

This new CFI directive directly assigns an RA signing state to the RA_SIGN_STATE DWARF pseudo-register for use when unwinding, to indicate whether the value of PC has been used as a diversifier for return address signing. The new directive subsumes and replaces .cfi_negate_ra_state_with_pc, which was found to be unsuitable for descibing some block layouts [1], particularly in hot-cold-split functions.

1: https://github.com/ARM-software/abi-aa/pull/346
https://invent.kde.org/qt/clang/llvm-project/-/commit/77e879f967294d76376bf7a022092a1d6f3ed583

Git commit 943972575711ceb999b3ee8ba98ce7b8df5a9581 by GitHub (on behalf of Matt Arsenault) on 23/07/2026 at 18:49..
AMDGPU: Migrate disassembler tests to use subarch triples (#211596)
https://invent.kde.org/qt/clang/llvm-project/-/commit/943972575711ceb999b3ee8ba98ce7b8df5a9581

Git commit b63032380268e9a9f32755d9ed146ed5ad3c591a by GitHub (on behalf of Hardik Kumar) on 23/07/2026 at 19:01..
[clang][Driver]Fix opencl -cl-fast-relaxed-math flag to have similar behaviour as ffast-math (#208709)

Previously when using `-cl-fast-relaxed-math` flag along with
`fhonor-nans` or `fhonor-infinities` the honor flags did not override
the relaxed math flag. This behaviour is something that is not seen in
case of ffast-math for general targets.

This patch makes adjustments to how the driver and cc1 handles the
relaxed math flag for opencl. The flag was in the path of `fast-math` so
when someone used the `-cl-fast-relaxed-math` flag they were ultimately
overriding everything with fast-math. This was the main reason why honor
flags were not overriding relaxed math (atleast that's what I have
understood from my time working on this).

I have added tests for this as well and modified CodeGen cc1 tests
according to the changes in the patch.

I have personally not tested this on any AMD targets myself yet. So I am
unsure about this breaking anything (hopefully it should rather fix).

closes #178514
https://invent.kde.org/qt/clang/llvm-project/-/commit/b63032380268e9a9f32755d9ed146ed5ad3c591a

Git commit ea233a005b3a828affa482c1684f6f76d650a9c1 by GitHub (on behalf of Alexey Samsonov) on 23/07/2026 at 19:22..
[libc] Silence sanitizer OOB reports in SIMD read/write helpers. (#211148)

Use `LIBC_NO_SANITIZE_OOB_ACCESS` for small SIMD helper functions
(load/store/gather/scatter/expand/compress). Even though the actual
functions which have logical OOB reads (such as
`clang_vector::string_length`) already have
`LIBC_NO_SANITIZE_OOB_ACCESS` attribute to ignore OOB reads, it's not
enough - as we see downstream reports from ASan builds of llvm-libc
(using tip-of-trunk Clang), both with `-O1` and `-O2`. We simply can't
rely on the SIMD helpers being inlined into the caller function, with
their memory reads/writes ignored.

Thus, apply the `no_sanitize` attribute to the helpers themselves. This
is clearly suboptimal, as we're effectively disabling sanitizer checks
for *all* the code using SIMD to read/write from memory, but it seems to
be the easiest reasonable fix. After all, code using SIMD (like code
using explicit intrinsics or inline assembly) should be written only in
special cases, with author knowing what they're doing.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ea233a005b3a828affa482c1684f6f76d650a9c1

Git commit 52ab62e4d073e01e81a8b62811f345ac52375198 by GitHub (on behalf of Jun Wang) on 23/07/2026 at 19:26..
[AMDGPU][Docs] Remove docs for AMDGPU instruction syntax (#211421)

Docs for AMDGPU instruction syntax under llvm/docs/AMDGPU are being
moved out of LLVM.
They can be found at the [ROCm LLVM Compiler Infrastructure
website](https://rocm.docs.amd.com/projects/llvm-project/en/latest/index.html)
https://invent.kde.org/qt/clang/llvm-project/-/commit/52ab62e4d073e01e81a8b62811f345ac52375198

Git commit 8b0eab156025a55819868daf76ff32e28829d06a by GitHub (on behalf of Nikita Kornev) on 23/07/2026 at 19:28..
[SSAF] Fix Expected return type in TypeConstrainedPointers deserialization (gcc 7.5.0) (#211331)

GCC 7.5.0 fails to compile this code. Use explicit upcasts from
std::unique_ptr<Derived> to std::unique_ptr<Base> in deserializeSummary
and deserializeAnalysisResult. This resolves a compilation error where
llvm::Expected<std::unique_ptr<Base>> could not be constructed from
unique_ptr of derived summary/result types.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8b0eab156025a55819868daf76ff32e28829d06a

Git commit 1cdd77ab097d322c66e032114cb1c06d1ca78d71 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
[OpenMP] Implement EnumSet container

This is close to flang's common::EnumSet with the difference being that
it provides forward iterators.

The reason for having an implementation that is separate from
common::EnumSet is that this is intended to be shared for all consumers
of llvm/lib/Frontend/OpenMP. This class is also planned to be one of the
core containers for representing auto-generated OpenMP data in the future.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1cdd77ab097d322c66e032114cb1c06d1ca78d71

Git commit 4168362ab290a25efd5f2e244dc162132315e341 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
Add some static helper members
https://invent.kde.org/qt/clang/llvm-project/-/commit/4168362ab290a25efd5f2e244dc162132315e341

Git commit a92b67015663a36d645d0fdcd91024a36bed25ff by Krzysztof Parzyszek on 23/07/2026 at 19:34..
Add unit test
https://invent.kde.org/qt/clang/llvm-project/-/commit/a92b67015663a36d645d0fdcd91024a36bed25ff

Git commit 1e4d5d8350c61a31582ddbf6ee0fbe0dea5f89ec by Krzysztof Parzyszek on 23/07/2026 at 19:34..
Add preamble
https://invent.kde.org/qt/clang/llvm-project/-/commit/1e4d5d8350c61a31582ddbf6ee0fbe0dea5f89ec

Git commit 3cdf11adabe75a2742b681b40551afa7f25ecfc7 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
Fix out of bounds word access in iterator
https://invent.kde.org/qt/clang/llvm-project/-/commit/3cdf11adabe75a2742b681b40551afa7f25ecfc7

Git commit a3fffcfa976d0df3034fc656c48daf22c1a0cec4 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
Add type-preserving operators |, &, |=, &=
https://invent.kde.org/qt/clang/llvm-project/-/commit/a3fffcfa976d0df3034fc656c48daf22c1a0cec4

Git commit 4f4a5c175c0a91f6b3949f776a9325f7a3693a13 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
[flang][OpenMP] Use llvm::omp::ClauseSet instead of common::EnumSet

Replace uses of OmpClauseSet (defined in terms of common::EnumSet)
with the common llvm::omp::ClauseSet (defined via llvm::EnumSet).
https://invent.kde.org/qt/clang/llvm-project/-/commit/4f4a5c175c0a91f6b3949f776a9325f7a3693a13

Git commit ed7773b8469dd2f913801f7a38fb7ed9470c1a68 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
[flang][OpenMP] Use llvm::omp::DirectiveSet instead of common::EnumSet

Replace uses of OmpDirectiveSet (defined in terms of common::EnumSet)
with the common llvm::omp::DirectiveSet (defined via llvm::EnumSet).

The llvm::omp::DirectiveSet class will also be used in openmp-parsers,
where OmpDirectiveSet was an instance of llvm::Bitset.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ed7773b8469dd2f913801f7a38fb7ed9470c1a68

Git commit baa7441d72dff16fcbcfc09aa5481e25728b3efe by Krzysztof Parzyszek on 23/07/2026 at 19:34..
format
https://invent.kde.org/qt/clang/llvm-project/-/commit/baa7441d72dff16fcbcfc09aa5481e25728b3efe

Git commit 092debd0450458cde8bab7698f24d54909bde5c8 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
[flang] Provide "clause set" type as parameter to DirectiveStructureChecker

This will remove the hardcoded dependence of DirectiveStructureChecker on
the common::EnumSet class. Both consumers of it will be able to use their
own type for the clause set.

The only complication was the ClauseSetToString member function, whose
implementation depended on the specifics of common::EnumSet, namely the
IterateOverMembers member function. It was moved out of the class, and
turned into a function template to make it possible to provide different
specializations for common::EnumSet and llvm::EnumSet.
https://invent.kde.org/qt/clang/llvm-project/-/commit/092debd0450458cde8bab7698f24d54909bde5c8

Git commit c237a94582d0a8e617a520fa94df439598ab1cc6 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
Specialize IterateOverMembers instead of ClauseSetToString

There was still a use of common::EnumSet::IterateOverMembers left
over after the prior changes. Get rid of it via the specialization,
and revert the specialization of ClauseSetToString, which was
originally implemented using IterateOverMembers.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c237a94582d0a8e617a520fa94df439598ab1cc6

Git commit e2ddf435a2d759c77ba6d39774fb8fecdad8bbc5 by Krzysztof Parzyszek on 23/07/2026 at 19:34..
[flang][OpenMP] Switch TableGen generation to use llvm::EnumSet

Replace the remaining uses of the common::EnumSet-based OmpClauseSet to
llvm::omp::ClauseSet.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e2ddf435a2d759c77ba6d39774fb8fecdad8bbc5
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.