[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/fmzakari/large-model-tls-x86'.
Changed from 0000000000000000000000000000000000000000 to 820e14086b084b85e8f68496514e3ec0ff83693d
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 db75e39e977563df8ac247871012e7ca56cdc1cb by GitHub (on behalf of Abhina Sree) on 13/08/2026 at 17:14..
[SystemZ][z/OS] Fix typo in CHECK line in systemz-charset.cpp (#216101)

This patch fixes a typo of `CHECK=UTF8` to `CHECK-UTF8` in the following
testcase
clang/test/CodeGen/systemz-charset.cpp
https://invent.kde.org/qt/clang/llvm/-/commit/db75e39e977563df8ac247871012e7ca56cdc1cb

Git commit 26538e8007591edd6e8b50929657afb0b27d0d03 by GitHub (on behalf of Arseniy Obolenskiy) on 13/08/2026 at 17:16..
[SPIR-V] Drop storage-class MemorySemantics bit for relaxed Vulkan atomics (#215802)

VUID-StandaloneSpirv-MemorySemantics-10871 forbids combining a storage
class semantics bit with a relaxed memory order

The backend unconditionally OR'd the two together, which was untested
until #215634 moved this test under the SPIR-V backend where spirv-val
actually runs

Unblocks the currently failing on main
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedOr-scope.ll` test
https://invent.kde.org/qt/clang/llvm/-/commit/26538e8007591edd6e8b50929657afb0b27d0d03

Git commit 2dd35f8ff91fbea3d898474851f78dfad2332c18 by GitHub (on behalf of Eli Friedman) on 13/08/2026 at 17:29..
[DAGCombine] Fix alignment of store in replaceStoreOfInsertLoad. (#215895)

For the variable index case, the alignment of the original store was
used, which is too large.

Fixes #215530
https://invent.kde.org/qt/clang/llvm/-/commit/2dd35f8ff91fbea3d898474851f78dfad2332c18

Git commit 113256a89baf248e294ea4db32b552ddb9989d0a by GitHub (on behalf of David Meng) on 13/08/2026 at 17:34..
[clang-tidy] Fix `misc-const-correctness` false positive on writes through assigned pointers (#216050)

`ExprPointeeResolve` did not resolve through `=`, so a write such as
`*(p = q) = 0` was not recognized as mutating `p`'s pointee and the
check suggested a `const` pointee that does not compile:

```cpp
void func(int *ptr1) {
  int *ptr2 = ptr1;
  int *ptr3 = ptr1;
  *(ptr2 = ptr3) = 0;   // warning: pointee of 'ptr2' can be declared 'const'
}
```
Godbolt: https://godbolt.org/z/3o8qnEKs3

An assignment yields an lvalue for the LHS holding the value of the RHS,
so
the dereferenced object is reachable through both operands. Resolve
through
both, like the existing additive case.

The RHS is already covered indirectly by AssignToNonConst, so the fix is
the LHS.

Fixes https://github.com/llvm/llvm-project/issues/216048.
https://invent.kde.org/qt/clang/llvm/-/commit/113256a89baf248e294ea4db32b552ddb9989d0a

Git commit 5e4d13ef093458b714c9913eb40199e1f4c45f0a by GitHub (on behalf of Reid Kleckner) on 13/08/2026 at 17:38..
[clang][docs] Migrate AttributeReference to markdown (#215631)

Tracking issue: #201242

This change is a one-off using a different methodology, described here.

AttributeReference.rst is generated, not checked in, so there's no
separate rename PR. The reST markup lives in AttrDocs.td, which is
essentially a tablegen wrapper that we can "join" with Attr.td to
produce complete reference. I can't simply stream AttrDocs.td through
rst2myst to migrate it.

Instead, my agent used Python regexes to match `let Content = [{` and
similar blocks (`code Intro = [{`) through to the closing delimiters
(`}];`). The one-off script imported the `rst_to_myst` module and called
the `rst_to_myst` library function on the inner reST body text. It then
built up a list of alternating fragments of tablegen and markdown
strings that were concatenated to produce the new contents of
AttrDocs.td.

The point of mentioning this is to explain that only 11% of the inserted
lines in this change were agent-generated, based on the split of the
diff state between the two commits:

```
❯ jj diff --stat
...
5 files changed, 526 insertions(+), 537 deletions(-)

❯ jj diff --stat -r @-
...
1 file changed, 4630 insertions(+), 4671 deletions(-)
```

So, if you want to trust rst2myst and only focus on the agentic and
manual cleanups, you can look at the *second commit* in the PR, which is
only +526 lines. If you dig into the second diff, you'll notice that
most of it is just removing block quotes that were caused by bugs from
extra indentation in the original AttrDocs.td reST.

I also have an elaborate new pixel diff strategy that shows me that all
of the visual diffs look good. I paged through the new
AttributeReference.html, but it was too long for me personally visually
diff. The change passed all my other existing validation scripts that
ensure that all the id= anchors are all still present in the new output.
https://invent.kde.org/qt/clang/llvm/-/commit/5e4d13ef093458b714c9913eb40199e1f4c45f0a

Git commit 84f08dbe9135330e1546ad00dcc911ed0c928e75 by GitHub (on behalf of Matt Arsenault) on 13/08/2026 at 17:52..
GlobalISel: Fix missing dependency on TargetParser (#216122)
https://invent.kde.org/qt/clang/llvm/-/commit/84f08dbe9135330e1546ad00dcc911ed0c928e75

Git commit bb123b2208060bf3ec8a5f22f2111bd194c4ad4d by GitHub (on behalf of Nuri Amari) on 13/08/2026 at 17:56..
[Clang][Frontend] Fix fix-it size overflow in emitted .dia (#216075)

When fix-its are emitted into a .dia, we previously stored the fix-it
text in a blob of arbitrary size, but the size of the text was stored in
a separate 16 bit field. For really large fix-its, the size won't fit it
those 16 bits, and the compiler crashes.

Switch to a variable length encoding of the fit-it size. This is similar
to this issue:
https://github.com/llvm/llvm-project/commit/e26aea5b290165f3bccffab662a706d4a56f7540

We also remove a hard coded check in the clang library used to load .dia
files that failed for fix-its whose size doesn't fit in 16 bits.

Generated with codex

Co-authored-by: Nuri Amari <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/bb123b2208060bf3ec8a5f22f2111bd194c4ad4d

Git commit 03e81eabcdb7ef913e5cc0491e9083c2b31fcb39 by GitHub (on behalf of Adrian Prantl) on 13/08/2026 at 17:57..
[LLDB] Add a GetTargetSP() accessor to ObjectFileJITDelegate. (NFC) (#215893)

This is needed to implement the Swift REPL and potentially generally
useful to other expression evaluators.
https://invent.kde.org/qt/clang/llvm/-/commit/03e81eabcdb7ef913e5cc0491e9083c2b31fcb39

Git commit dbac58277733fb87f5df02acf688b92b4b378cf3 by GitHub (on behalf of Adrian Prantl) on 13/08/2026 at 17:57..
[LLDB] Fix tool dependency tracking on windows (#215927)

On Windows $(CXX) is converted into "$(CXX)" which doesn't work as a
path as needed by dependency tracking. Separate the two uses.
https://invent.kde.org/qt/clang/llvm/-/commit/dbac58277733fb87f5df02acf688b92b4b378cf3

Git commit df7a7ee37bf5508e817f3b99473368004875a0b9 by GitHub (on behalf of Louis Dionne) on 13/08/2026 at 18:08..
[libc++] Cache anchor commits in the benchmark cron (#216124)

Selecting the anchor commits is the only step that needs a full monorepo
clone, so we instead cache it and recompute it once per day.

Fixes #215447
https://invent.kde.org/qt/clang/llvm/-/commit/df7a7ee37bf5508e817f3b99473368004875a0b9

Git commit 47f7a590e579ef44c32a1da28fb8b8b01432e1de by GitHub (on behalf of Alex Langford) on 13/08/2026 at 18:13..
[clang] Move DefaultedFunctionKind from Sema to AST (#214846)

I plan on using this to implement DW_AT_defaulted in CGDebugInfo.
Putting this on FunctionDecl itself seems like a better move than
reaching into Sema from CGDebugInfo.

See: https://github.com/llvm/llvm-project/pull/213188
https://invent.kde.org/qt/clang/llvm/-/commit/47f7a590e579ef44c32a1da28fb8b8b01432e1de

Git commit dabc3833ba1d2c9994bcf3a94ee66790f470ba82 by GitHub (on behalf of Joachim) on 13/08/2026 at 18:15..
[OpenMP][OMPT] Make omp_control_tool enums available in omp-tools.h (#216076)

OpenMP 6.1 will introduce this change: the enums must be available by
including either header file, but including both must also be valid.
https://invent.kde.org/qt/clang/llvm/-/commit/dabc3833ba1d2c9994bcf3a94ee66790f470ba82

Git commit 4f4a268a65ba69279fed5f2063ad49eb5d5d89a4 by GitHub (on behalf of Florian Hahn) on 13/08/2026 at 18:19..
[LAA] Add more tests with symblic strides with different scales (NFC) (#216128)

Add more test coverage for various cases with strides with different
scales.
https://invent.kde.org/qt/clang/llvm/-/commit/4f4a268a65ba69279fed5f2063ad49eb5d5d89a4

Git commit 199678b395de15401a7eb751fe3e24c10997b470 by GitHub (on behalf of Jan André Reuter) on 13/08/2026 at 18:20..
[OpenMP][OMPT] Mark dispatch callback as sometimes on registration (#212991)

Recently, multiple issues in the implementation of the `dispatch`
callback have been found (e.g., #212784, #207746). In these, the code
generation done by Clang and Flang does not provide a sufficient amount
of information for the runtime to dispatch the correct amount of flags,
or a callback for a given event at all.

These missing and incorrect events do not satisfy OpenMP's requirement
for `ompt_set_always` as a registration result, as the runtime does not
trace or invoke the correct callback whenever an associated event occurs
(OpenMP v5.2, p. 457, l.5-6).
As such, change the registration result for the `dispatch` callback to
`ompt_set_sometimes` for now, which is fulfilled. Here, an
implementation can dispatch callbacks or trace an implementation-defined
subset of associated event occurrences.

Based on the changed registration result, a tool can then decide if they
are still interested in recording the information provided by the
runtime implementation.

Signed-off-by: Jan André Reuter <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/199678b395de15401a7eb751fe3e24c10997b470

Git commit 98d84e38b867b984d1d33e6f73e0f5c7191f7ccb by GitHub (on behalf of Chinmay Deshpande) on 13/08/2026 at 18:22..
[AMDGPU][GlobalISel] Fix wide multiply with known-zero parts (#215356)

Materialize a zero accumulator when all partial products for a
destination part are skipped, avoiding an invalid null register during
legalization.
https://invent.kde.org/qt/clang/llvm/-/commit/98d84e38b867b984d1d33e6f73e0f5c7191f7ccb

Git commit 31cfad3442ad2f48d454f6551a55b6c100371bcc by GitHub (on behalf of DeanSturtevant1) on 13/08/2026 at 18:42..
Fix Bazel build for cb72195 (#216144)

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=cb721957e5e78875ea1d96dc53d46353e7b98d23

Co-authored-by: Google Bazel Bot <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/31cfad3442ad2f48d454f6551a55b6c100371bcc

Git commit e8ff1d1d93728ba488c8a09023c4554030463ced by GitHub (on behalf of SunilKuravinakop) on 13/08/2026 at 18:45..
[flang][OpenMP] Support for "atomic compare capture" (#202315)

Adding support for "!$omp atomic compare capture".

This also Fixes [#202311](https://github.com/llvm/llvm-project/issues/202311)

Co-authored-by: Sunil Kuravinakop <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/e8ff1d1d93728ba488c8a09023c4554030463ced

Git commit 389da87c52f1db63440f376621f5daee2fabaaf3 by GitHub (on behalf of John McCall) on 13/08/2026 at 18:53..
Document that the swiftcall and swiftasynccall attributes are ABI-unstable (#215915)

...except on platforms where the Swift projects has declared ABI
stability.
https://invent.kde.org/qt/clang/llvm/-/commit/389da87c52f1db63440f376621f5daee2fabaaf3

Git commit e72ba6cf366a3180cbf5a8690d9e50665880ab76 by GitHub (on behalf of forking-google-bazel-bot[bot]) on 13/08/2026 at 19:04..
[Bazel] Fixes e8ff1d1 (#216147)

This fixes e8ff1d1d93728ba488c8a09023c4554030463ced (#202315).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=e8ff1d1d93728ba488c8a09023c4554030463ced

Co-authored-by: Google Bazel Bot <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/e72ba6cf366a3180cbf5a8690d9e50665880ab76

Git commit c2f1191df7b0ff8df29381acb17b7f8259b34c66 by GitHub (on behalf of Simon Pilgrim) on 13/08/2026 at 19:23..
[X86] unaligned-32-byte-memops.ll - add common CHECK/AVX1 check prefixes (#216145)
https://invent.kde.org/qt/clang/llvm/-/commit/c2f1191df7b0ff8df29381acb17b7f8259b34c66

Git commit 8e34eed3b8ede75728b69ce25ab77f23d99e41f2 by GitHub (on behalf of Donát Nagy) on 13/08/2026 at 19:30..
[NFC][analyzer] Clarify that ArrayBound only handles element regions (#216049)

The `security.ArrayBound` checker does not do anything when the value of
the expression that activated its callbacks isn't expressed as an
`ElementRegion`.

Previously this was a sneaky consequence of the logic in
`computeOffset`, but this commit highlights it with a straightforward
early return statement to ensure that the accessed element region is
available within the body of `ArrayBoundChecker::handleAccessExpr`.

(I intend to use this in a follow-up commit.)
https://invent.kde.org/qt/clang/llvm/-/commit/8e34eed3b8ede75728b69ce25ab77f23d99e41f2

Git commit 192399adb590c458f3a52d8a7798087090f3cd1d by GitHub (on behalf of Arseniy Obolenskiy) on 13/08/2026 at 19:36..
[NFC][clang][DebugInfo] Add SPIR-V calling convention test coverage (#216095)
https://invent.kde.org/qt/clang/llvm/-/commit/192399adb590c458f3a52d8a7798087090f3cd1d

Git commit 8a6d4b826c351f1e500c109bfad975f6e9df89c2 by GitHub (on behalf of Simon Pilgrim) on 13/08/2026 at 19:56..
[X86] extractsubvector-load.ll - basic test coverage for various extractsubvector(load) patterns (#216156)

Shows some poor codegen for non-aligned subvector indices

Basic frozen load test coverage for #216115
https://invent.kde.org/qt/clang/llvm/-/commit/8a6d4b826c351f1e500c109bfad975f6e9df89c2

Git commit 551766823bb7b5a6af84e4ec1c1aff6dff431229 by GitHub (on behalf of David Meng) on 13/08/2026 at 20:00..
[clang-tidy] Add `readability-redundant-zero-initializer` (#209367)

Add a check that finds explicit single-element zero initializers of
arrays and rewrites them to empty braces, e.g. `char a[12] = {0};`
becomes `char a[12] = {};`. Empty-brace initialization zero-initializes
every element, so the explicit `{0}` is redundant. The check is only
enabled in C++ and in C23 or later.

The check is conservative and only rewrites a single-element `{0}` list
whose sole element is the integer literal `0` and whose array has an
explicit bound. It leaves alone, among others:
- arrays whose bound is deduced from the initializer (`char a[] = {0};`)
- multi-dimensional arrays (`int m[2][3] = {0};`)
- initializers with more than one element (`int a[3] = {0, 0};`);
- scalars and class/struct types
- zero written in another form such as `'\0'`, `0.0` or `nullptr`

Closes #209139

---------

Co-authored-by: Baranov Victor <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/551766823bb7b5a6af84e4ec1c1aff6dff431229

Git commit 4411918828ea22bfcc2d01177064a296e85de680 by GitHub (on behalf of Sophia Herrmann) on 13/08/2026 at 20:05..
[Offload][Driver] Split frontend CUDA/HIP language assumptions from backend device (#212373)

CUDA and HIP offloading currently assumes that the source language also
implies the device backend: CUDA maps to NVPTX/CUDA and HIP maps to
AMDGPU/HSA. That is too restrictive for the LLVM offload path, where the
language frontend and the device backend can be separate choices.

Using `-foffload-via-llvm` we can split the kernel language from backend
assumptions. When enabled, the driver suppresses the vendor
runtime/header paths, injects the LLVM-provided generic GPU device
headers and language runtime headers, and links the LLVM CUDA/HIP
runtime libraries from #211694 instead. It also provides tests for
#211694 since they require the frontend to run.

Assisted by GPT-5.5, checked and reviewed manually

Co-authored-by: Johannes Doerfert <[email protected]>
Co-authored-by: Jonas Greifenhain <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/4411918828ea22bfcc2d01177064a296e85de680

Git commit cb5775c4091b31bded7c96bf1ed774075e68f9ea by GitHub (on behalf of Raphael Isemann) on 13/08/2026 at 20:06..
[lldb][test] Don't include all SB API headers in TestMultithreaded (#215551)

This test compiles 9 C++ test files and uses the `generateSource`
function to inject includes for every single SB API header. The
`generateSource` call also sets `SOURCE_DIR` so the test knows its
current source directory.

This patch removes the need for `generateSource` by including the SB API
headers we actually need. SOURCE_DIR is now specified using an
environment variable in the test.

The motivation for this patch is that I want to avoid recompiling these
source files unless their source or the included headers change.
Currently, this test is one of the slowest in the test suite and needs
about half a minute to run. In the future, I want to at least avoid the
recompilation time for each test file.

Note that we still have another test that includes all SB API headers
normally and as a framework, so this does not remove test coverage.
https://invent.kde.org/qt/clang/llvm/-/commit/cb5775c4091b31bded7c96bf1ed774075e68f9ea

Git commit 6e6e7a7383fcf4291546f559adfb1b220dc3308d by GitHub (on behalf of Raphael Isemann) on 13/08/2026 at 20:07..
[lldb] Make SBFile::operator bool explicit (#215819)

Every other SB class in the API declares `explicit operator bool()`.
SBFile was the only one with an implicit conversion, which in general is
not something we want.
https://invent.kde.org/qt/clang/llvm/-/commit/6e6e7a7383fcf4291546f559adfb1b220dc3308d

Git commit 02da5ba79cb0bf1d95634ffe060802ff2d4a0292 by GitHub (on behalf of Erich Keane) on 13/08/2026 at 20:07..
[CIR] Implement the 'rest' of the TLS Model types (#215380)

Functionally, the only difference between these models is the tag that
goes onto the variable in the LLVM-IR. This patch changes our "==
GeneralDynamic" checks to just be whether they have a TLS Model defined,
so all the previous logic still holds.

This patch DOES have to add the 'default' model to the module, as the
top-level TLS guard needs to have this model, even if the individual
variables are overridden by the tls_model attribute.

Like the previous inline-printing patch, this ensures we print the
module result attribute as an enum value instead an integral. This
requires some custom parse/printing here, but is pretty routine. We
can't convert GlobalOp without vastly changing how it prints these, as
there isn't really a 'assemblyFormat' that works for this printed as an
'attribute' and a keyword.

We ALSO had to change the name of the enum to be TLSModel, because MLIR
is inconsistent in tablegen where it gets the name from on an enum, so
it would pick up the wrong spelling sometimes.
https://invent.kde.org/qt/clang/llvm/-/commit/02da5ba79cb0bf1d95634ffe060802ff2d4a0292

Git commit 52e3adee1faaa3632427cfedee42ddec6b465742 by GitHub (on behalf of Erich Keane) on 13/08/2026 at 20:07..
[CIR] Implement __builtin_clear_padding (#216126)

__builtin_clear_padding is lowered as an operation, which keeps the list
of the padding sections so that it knows how to clear them later. Rather
than trying to get the casting/etc right earlier to do clearing, this
patch chooses to do the conversion to load/and/store operations during
LowerToLLVM. This also yields identical IR to OGCG, whereas attempts to
do it earlier caused divergence that seemed unnecessary and causes
difficulty in assuring they are compatible.
https://invent.kde.org/qt/clang/llvm/-/commit/52e3adee1faaa3632427cfedee42ddec6b465742

Git commit 83d27d808c85b0fc6f59467d71de2fc1b03a6332 by GitHub (on behalf of Bhavesh M) on 13/08/2026 at 20:11..
[mlir] [memref] [transform] Add alloc_to_global op. (#211141)

This adds a new transform op that creates a `memref.global` op for
each provided `memref.alloc` and replaces `memref.alloc`s with
`memref.get_global`. It also creates a new helper function that contains
the shared logic between the existing `alloca_to_global` op and
`alloc_to_global`. It also checks whether `memref.alloc`s and
`memref.alloca`s are statically shaped since `memref.global` requires
statically shaped buffers.
https://invent.kde.org/qt/clang/llvm/-/commit/83d27d808c85b0fc6f59467d71de2fc1b03a6332

Git commit a0cf5703e3706de4507cd94216148e10dee650d8 by GitHub (on behalf of Florian Hahn) on 13/08/2026 at 20:13..
[VPlan] Use collectEphemeralRecipesForVPlan in calculateRegUse (NFC) (#216047)

Update calculateRegisterUsageForPlan to use
collectEphemeralRecipesForVPlan instead of relying on IR-based set of
instructions.
https://invent.kde.org/qt/clang/llvm/-/commit/a0cf5703e3706de4507cd94216148e10dee650d8

Git commit c42fb4286aa66c71e813e4094ef018499cecef7b by GitHub (on behalf of LU-JOHN) on 13/08/2026 at 20:19..
[AMDGPU] Promote FMA bf16 ops to use v2bf16 (#215805)

Promote FMA bf16 ops to use v2bf16.

---------

Signed-off-by: John Lu <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/c42fb4286aa66c71e813e4094ef018499cecef7b

Git commit c122b2c95c861f2180dea397bd12bb52c90b7bac by GitHub (on behalf of Alex Langford) on 13/08/2026 at 20:19..
[lldb] Disable TestDAP_module.py on Darwin platforms (#216163)

This has been very flaky on Green Dragon.
https://invent.kde.org/qt/clang/llvm/-/commit/c122b2c95c861f2180dea397bd12bb52c90b7bac

Git commit 4d41192f5dd8c6f3a685bea1fc0144ab9247fb13 by GitHub (on behalf of Alexey Bataev) on 13/08/2026 at 20:28..
[SLP][NFC]Add a test for copyable with extractelement, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/216174
https://invent.kde.org/qt/clang/llvm/-/commit/4d41192f5dd8c6f3a685bea1fc0144ab9247fb13

Git commit 2178ebc84f249643199d71445fd4ff3d42ca4164 by GitHub (on behalf of Alexey Samsonov) on 13/08/2026 at 20:41..
[libc][x86] Enable memcpy NTA stores by default. (#216149)

Set `LIBC_COPT_MEMCPY_X86_USE_NTA_STORES` by default, which would enable
NTA stores for `memcpy()` calls at some point when processing large
buffers. We've ran some experiment down-stream that show that this
change is performance-neutral on the majority of regular benchmarks /
server applications and have positive impact on ML workloads that need
to copy large tensors into shared memory.

Co-authored-by: Ilya Tokar <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/2178ebc84f249643199d71445fd4ff3d42ca4164

Git commit 806dbe95e7f05b12afd1c7cc579c42e101921199 by GitHub (on behalf of Wael Yehia) on 13/08/2026 at 20:46..
[Profile] Add a more descriptive message to the bad_header error (#211281)

At the moment, the raw profile reader diagnoses different problem with
the same error message "invalid instrumentation profile data (file
header is corrupt)". On AIX, we had users report such problems thinking
it's a compiler bug, while the real problem was truncated profiles.
The particular case they hit was the condition
[here](https://github.com/llvm/llvm-project/blob/668803fa73bdf2f8d095162a1f81c000d18458c9/llvm/lib/ProfileData/InstrProfReader.cpp#L652):
```
Error RawInstrProfReader<IntPtrT>::readHeader(...) {
  ...
  if (Start + ValueDataOffset > DataBuffer->getBufferEnd())
    return error(instrprof_error::bad_header);
```
This could indicate a corrupted header (large garbage values for some
sections) or a truncated file.
I figured if we print the values and sizes we read in the header, it
will give the user more info.

This PR 
1. adds an extra description for a couple of `bad_header` error points,
and
2. updates `tools/llvm-profdata/insufficient-binary-ids-size.test`: this
test was originally meant to test a truncated BinaryId section, but the
test hasn't been updated to reflect new profile header changes and now
is failing due to a truncated header. But both errors are reported as
`bad_header`, which is probably why it was uncaught by authors that
updated the profile header.

---------

Co-authored-by: Wael Yehia <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/806dbe95e7f05b12afd1c7cc579c42e101921199

Git commit 47d86084abba30e93cef3cdf14c936b9deb2f05a by GitHub (on behalf of Alex MacLean) on 13/08/2026 at 20:48..
[NVPTX] Alphabetize NewPM pass classes and macros (NFC) (#216168)

Also standardize use of `class` and parameter names.
https://invent.kde.org/qt/clang/llvm/-/commit/47d86084abba30e93cef3cdf14c936b9deb2f05a

Git commit 8728bc61b4e39eed747b227e8b9c3b5d7a0ce2cd by GitHub (on behalf of Jonas Devlieghere) on 13/08/2026 at 20:56..
[lldb] Add a unified entry point for locating a binary and its symbols (#215391)

The three-plugin composition that finds a binary and its symbol file is open
coded in several places. Give it one home, as a pure function of a module
spec, so that a caller holding several binaries can search for all of them
before creating any.

Nothing on this path takes a lock, where ModuleList::GetSharedModule holds the
shared module list's lock across the plugin search. That is what will make
searching for several binaries at once worth doing.

A miss that nothing could explain gets its own error type rather than an error
code, because a Status carrying an errno converts to the same llvm::ECError,
and a caller composing its own message for a plain miss must not swallow a
failure to reach a symbol server.

DynamicLoader's search no longer runs twice for a binary that is not already
known, and a module created from a located binary is now registered in the
shared module list, so a second Target asking for the same binary reuses it.

Assisted-by: Claude
https://invent.kde.org/qt/clang/llvm/-/commit/8728bc61b4e39eed747b227e8b9c3b5d7a0ce2cd

Git commit df03daa1900190088a9b3c196ce272d10827ad8a by GitHub (on behalf of Eric Christopher) on 13/08/2026 at 20:59..
[NFC][DebugInfo] Fix a parameter name in calculateFragmentIntersect's docs (#216142)

The docs spell it VarFarg, and the parameter is VarFrag, so the \p
reference resolves to nothing. That line is the one saying when Result
comes back empty, which is the behavior callers most need to look up.
https://invent.kde.org/qt/clang/llvm/-/commit/df03daa1900190088a9b3c196ce272d10827ad8a

Git commit dcc7330c1ac270efe9225b42e9f6d2b574bdbf2c by GitHub (on behalf of Dave Lee) on 13/08/2026 at 21:03..
[lldb] Fix dotest.py --help (#216131)

Fixes the following `--help` bug I ran into:

```
% python3 ./lldb/test/API/dotest.py --help
Traceback (most recent call last):
  File "path/to/llvm-project/lldb/test/API/dotest.py", line 8, in <module>
    lldbsuite.test.run_suite()
  File "path/to/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 1099, in run_suite
    parseOptionsAndInitTestdirs()
  File "path/to/llvm-project/lldb/packages/Python/lldbsuite/test/dotest.py", line 318, in parseOptionsAndInitTestdirs
    configuration.cmake_build_type = args.cmake_build_type.lower()
AttributeError: 'NoneType' object has no attribute 'lower'
```
https://invent.kde.org/qt/clang/llvm/-/commit/dcc7330c1ac270efe9225b42e9f6d2b574bdbf2c

Git commit 87cd470e2f8308d3fac92767aa058ae815019341 by GitHub (on behalf of Florian Hahn) on 13/08/2026 at 21:04..
[LV] Add test with eliminate-able backedge and tail-folding (NFC) (#216171)

Add test for removing backedge with tail-folding with interleaving only.
https://invent.kde.org/qt/clang/llvm/-/commit/87cd470e2f8308d3fac92767aa058ae815019341

Git commit c38835951d6a6facfe3068a7878e49c98941507d by GitHub (on behalf of Ambrose Leeb) on 13/08/2026 at 21:07..
[Clang] [Docs] Switch back to my personal account but keep my name + work email (#216176)
https://invent.kde.org/qt/clang/llvm/-/commit/c38835951d6a6facfe3068a7878e49c98941507d

Git commit 063aa1c1988e4af49889e58ea222a6988c01793a by GitHub (on behalf of Anthony Latsis) on 13/08/2026 at 21:07..
[Modules] Exclude InstrumentorRuntimeHelper.h from LLVM_Transforms (#215843)

7964b66bf55d53f7a528a8153c005bee0614a3d7
(https://github.com/llvm/llvm-project/pull/199329) added
`llvm/Transforms/IPO/InstrumentorRuntimeHelper.h` under the umbrella
directory of the `LLVM_Transforms` clang module. That header is not a
normal C++ API header: it is read as a string at build time (via
`file(READ)` in CMake) and embedded into the instrumentor runtime, and
it includes the C standard headers
`<stdint.h>`/`<string.h>` inside an `extern "C"` block. In Swift's C++
interoperability mode, the includes resolve to the C++
`std_stdint_h`/`std_string_h` modules, which cannot be imported within
an `extern "C"` linkage specification.

```
InstrumentorRuntimeHelper.h:21:1: error: import of C++ module 'std_stdint_h' appears within extern "C" language linkage specification
 17 | #ifdef __cplusplus
 18 | extern "C" {
    | `- note: extern "C" language linkage specification begins here
 19 | #endif
 20 |
 21 | #include <stdint.h>
    | `- error: import of C++ module 'std_stdint_h' appears within extern "C" language linkage specification
```

Exclude the header from `LLVM_Transforms`, mirroring the existing
exclusion of `InstructionWorklist.h`. Since the header is only consumed
as an embedded string and is not included by any other LLVM header, it
never needs to be part of the module's API surface.
https://invent.kde.org/qt/clang/llvm/-/commit/063aa1c1988e4af49889e58ea222a6988c01793a

Git commit 337408048784556bff775dbbceeeb74962e418f7 by GitHub (on behalf of nudt_yixiao) on 13/08/2026 at 21:09..
[Flang] Avoid crash on invalid EQUIVALENCE objects (#215979)

An invalid EQUIVALENCE statement may introduce a symbol that is not a
data object into later offset computation. ComputeOffsetsHelper assumes
such symbols have ObjectEntityDetails when assigning COMMON block
information, which can cause a crash after a semantic error.

Check for ObjectEntityDetails before accessing object-specific
information to keep error recovery paths safe.

Test coverage
- Add a regression test for using a subroutine name as an EQUIVALENCE
object.

Tests:
- llvm-lit -v flang/test/Semantics/equivalence-non-data-object.f90

Co-authored-by: yixiao <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/337408048784556bff775dbbceeeb74962e418f7

Git commit d0bd708c762538e51e1f1d052e997909edac70a9 by GitHub (on behalf of Aiden Grossman) on 13/08/2026 at 21:22..
[Clang] Fix -Wunused-variable in #212373 (#216175)

Fixes https://lab.llvm.org/buildbot/#/builders/228/builds/7871
https://invent.kde.org/qt/clang/llvm/-/commit/d0bd708c762538e51e1f1d052e997909edac70a9

Git commit f395eb5beec8b6868582c75d620a5b0962bf7da7 by GitHub (on behalf of jinge90) on 13/08/2026 at 21:31..
[compiler-rt] Emit wrapper function for __eqsf2, __eqdf2 for SPIR-V (#215957)
https://invent.kde.org/qt/clang/llvm/-/commit/f395eb5beec8b6868582c75d620a5b0962bf7da7

Git commit 2f2ac32c2d7300807c089d409ee400a31f9c1919 by Farid Zakaria on 13/08/2026 at 21:48..
[lld][ELF][x86-64] Do not relax large-model TLS sequences

GCC uses an indirect PLTOFF64 call to __tls_get_addr for large-model
TLSGD and TLSLD sequences. These sequences do not match the fixed-size
psABI templates that lld rewrites when relaxing TLS to IE or LE.

Detect the PLTOFF64 relocation following TLSGD or TLSLD and preserve the
original sequence instead of rewriting unrelated instruction bytes.

Assisted-by: Codex
https://invent.kde.org/qt/clang/llvm/-/commit/2f2ac32c2d7300807c089d409ee400a31f9c1919

Git commit 820e14086b084b85e8f68496514e3ec0ff83693d by Farid Zakaria on 13/08/2026 at 21:50..
[X86] Use a large-model call for __tls_get_addr

The x86-64 ELF TLSGD and TLSLD sequences currently use a PLT32 call
to __tls_get_addr for every code model. The call can overflow in the
large code model when the PLT is more than 2 GiB away.

Use the same relocation strategy as GCC for large-model PIC: materialize
the GOT base with GOTPC64, materialize __tls_get_addr with PLTOFF64, and
call it indirectly. This changes only x86-64 LP64 ELF PIC code using
the large code model.

Assisted-by: Codex
https://invent.kde.org/qt/clang/llvm/-/commit/820e14086b084b85e8f68496514e3ec0ff83693d
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.