[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/rnk/clang-md-5a'.
Changed from 0000000000000000000000000000000000000000 to 07ae984afdd9b1e024984e61c3e4f5948032e06b
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 8972983ea1ce1496f50b8985be4c817ad40c8ed2 by GitHub (on behalf of Elvina Yakubova) on 06/08/2026 at 23:20..
[BOLT][AArch64] Add TLSGD relocations support (#213700)
https://invent.kde.org/qt/clang/llvm-project/-/commit/8972983ea1ce1496f50b8985be4c817ad40c8ed2

Git commit d50b9947b27ff3c907a16b96cee50e8782236feb by GitHub (on behalf of Meredith Julian) on 06/08/2026 at 23:25..
[NVPTX][AsmPrinter] Allow fp128 aggregate types in NVPTX backend (#214546)

Fixes an issue where aggregate types containing fp128 non-zero elements
would cause "unsupported type" due to missing case in bufferLEByte. Adds
fp128-global.ll test.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d50b9947b27ff3c907a16b96cee50e8782236feb

Git commit 5194e33faad9d84fd8d21c0305621a17e0d8a49f by GitHub (on behalf of Lang Hames) on 06/08/2026 at 23:26..
[ORC] Hoist Caller state into the base; add operator bool (#214483)

Move the ExecutionSession reference and callee address up from the SPS
implementation into the rt::Caller base, together with their constructor
and new executionSession() / calleeAddr() accessors. The named callers
(MainCaller, VoidVoidCaller, ...) become plain aliases of Caller rather
than subclasses, and rt::sps::Caller inherits the base constructor.

Add an explicit operator bool() reporting whether the caller has a
non-null callee address.

Give rt::sps::Caller::Create a SymbolLookupFlags parameter. Looking the
callee up as a weakly-referenced symbol now yields a caller with a null
callee (operator bool == false) when the symbol is absent, rather than
an error -- so callers for optional runtime functions can be constructed
and then tested for availability.

Adds SPSCallersTest coverage for operator bool and the accessors, and
for the required/weak x present/absent Create paths.
https://invent.kde.org/qt/clang/llvm-project/-/commit/5194e33faad9d84fd8d21c0305621a17e0d8a49f

Git commit 3e9646a812300b86474e347066a37bf24b6fc10a by GitHub (on behalf of YAMAMOTO Takashi) on 07/08/2026 at 00:04..
[lld][WebAssembly] Allow linker-synthetic symbols to be undefine when building shared libraries (#153537)

Fixes: #103592
https://invent.kde.org/qt/clang/llvm-project/-/commit/3e9646a812300b86474e347066a37bf24b6fc10a

Git commit 9c121cd44867cd542964ae06617da1c40432bf2b by GitHub (on behalf of Eric Christopher) on 07/08/2026 at 00:12..
[DebugInfo] Fix compact DWARF expression failure handling (#213391)

printDwarfExpressionCompact has two pre-existing failure paths that
silently produce bad output.

The register-name callback is optional, but the short DW_OP_reg* and
DW_OP_breg* paths call it directly, so a missing callback falls over.
Use resolveRegName for every register form and report an unknown
register only after both name-resolution paths fail.

DW_OP_entry_value has the same problem: it ignores a failed recursive
print, wraps the partial output in entry(...), and returns true. Print
entry-value subexpressions into a temporary buffer and propagate failure
before adding entry(...), so a failed subexpression can't come back as
successful output.

While here, GetRegName in llvm-objdump has a latent ordering issue: it
writes an unknown-register diagnostic as soon as target lookup misses,
even though resolveRegName can still decode an ASCII-packed
virtual-register name. There's no natural in-tree input that hits this
today -- LLVM emits text PTX and there's no NVPTX disassembler -- but a
future out-of-tree disassembler using the same encoding would otherwise
print a valid %r1 as "<unknown register 2454065>%r1". Keep GetRegName
lookup-only and let the compact printer own the diagnostic.

The llvm-objdump test makes the theoretical path testable by putting
NVPTX's packed value for %r1 in ARM DWARF, so target lookup misses
before packed-name decoding succeeds. Add target-independent unit
coverage for missing callbacks, unknown registers, and nested failures.

Tested via make check.

Assisted by AI.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9c121cd44867cd542964ae06617da1c40432bf2b

Git commit 52006000d1b886ca67c80554d06d3119c706749a by GitHub (on behalf of dmaclach) on 07/08/2026 at 00:14..
[include-cleaner] Ensure receiver headers are kept when accessing ObjC properties (#212633)

When accessing Objective-C properties via dot-notation (e.g., obj.foo),
include-cleaner was previously only recording the usage of the property
itself or its underlying getter/setter methods. This could lead to cases
where the header declaring the receiver's type (Interface or Protocol)
was incorrectly flagged as unused if no other standard methods were
invoked on it.
https://invent.kde.org/qt/clang/llvm-project/-/commit/52006000d1b886ca67c80554d06d3119c706749a

Git commit 9219721a5d68b75a16e8d101e0114c2cff48ba3d by GitHub (on behalf of Yonah Goldberg) on 07/08/2026 at 00:34..
[NVPTX] Fix broken cache hint metadata lit tests (#214600)

I just merged https://github.com/llvm/llvm-project/pull/204067 and
unfortunately forgot to locally compile all the PTX I was generating
from cache hint metadata in lit tests.

- I didn't know that .L2::cache_hint isn't valid on PTX volatile loads.
We need to drop the metadata then for volatile loads. I'll put this up
in a PR later, but for now just delete the lit test that generates the
invalid PTX. I'll add it back in the follow up.

- I forgot to provide SM version and PTX version when invoking ptxas for
the lit tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9219721a5d68b75a16e8d101e0114c2cff48ba3d

Git commit 77b44eb872002dae26be3de22671affbfb94a07b by GitHub (on behalf of Reid Kleckner) on 07/08/2026 at 00:38..
[docs][clang-format] Rename clang-format docs *.rst -> *.md, update refs (#211397)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.

---------

Co-authored-by: owenca <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/77b44eb872002dae26be3de22671affbfb94a07b

Git commit 668134e8acf10218663a0c33835bd4157ba358c4 by GitHub (on behalf of Roy Shi) on 07/08/2026 at 00:39..
[gsymutil] Add `--statistics` option (#186495)

# Motiviation

Currently, if one wants to know the size of the sections in a gSYM (e.g.
to check if they exceed 4GB), they have to dump the whole gSYM in the
text form, then process that huge text to get the sizes.

# New option `--statistics[=<format>]`

This patch adds a `llvm-gsymutil --statistics[=<format>]` option to
print the size info for all sections. It supports three formats:
* `text`: Default.
* `json`: Dense JSON.
* `pretty-json`: Pretty-printed JSON.

See example output below.

# Examples

```
royshi-mac-office ~/tmp % guuu v2.gsym --statistics
GSYM statistics for "v2.gsym":
  UUID:                4C4C446A-5555-3144-A1CF-AEBBCCD48E61
  Number of addresses:          6,382
  File size:                3,095,960 bytes
  Header:                          20 bytes ( 0.00%)
  Global data dir:                140 bytes ( 0.00%)
  UUID section:                    16 bytes ( 0.00%)
  Address table:               25,528 bytes ( 0.82%)
  Addr info offsets:           51,056 bytes ( 1.65%)
  File table:                   3,652 bytes ( 0.12%)
  String table:             1,772,169 bytes (57.24%)
  Function info data:       1,243,376 bytes (40.16%)
    Size and name:             76,584 bytes ( 2.47%)
    Line table info:          145,260 bytes ( 4.69%)
    Inline info:               58,540 bytes ( 1.89%)
    Call site info:            25,902 bytes ( 0.84%)
    End of list:               51,056 bytes ( 1.65%)
    Padding:                    5,387 bytes ( 0.17%)
    Merged func info:         880,647 bytes (28.45%)
      InfoType/InfoLength/Count/FnSize:        102,900 bytes ( 3.32%)
      Size and name:          209,160 bytes ( 6.76%)
      Line table info:        424,847 bytes (13.72%)
      Inline info:              2,058 bytes ( 0.07%)
      Call site info:           2,242 bytes ( 0.07%)
      Merged func info:             0 bytes ( 0.00%)
      End of list:            139,440 bytes ( 4.50%)
  Padding:                          3 bytes ( 0.00%)

royshi-mac-office ~/tmp % guuu v2.gsym --statistics=pretty-json
{
  "byte-sizes": {
    "addr_info_offsets": 51056,
    "address_table": 25528,
    "file_size": 3095960,
    "file_table": 3652,
    "function_info_data": 1243376,
    "function_info_type_sizes": {
      "call_site_info": 25902,
      "end_of_list": 51056,
      "inline_info": 58540,
      "line_table_info": 145260,
      "merged_func_info": 880647,
      "merged_func_info_type_sizes": {
        "call_site_info": 2242,
        "end_of_list": 139440,
        "infotype_infolength_count_and_fnsize": 102900,
        "inline_info": 2058,
        "line_table_info": 424847,
        "merged_func_info": 0,
        "size_and_name": 209160
      },
      "padding": 5387,
      "size_and_name": 76584
    },
    "global_data_directory": 140,
    "header": 20,
    "padding": 3,
    "string_table": 1772169,
    "uuid_section": 16
  },
  "num_addresses": 6382,
  "path": "v2.gsym",
  "uuid": "4C4C446A-5555-3144-A1CF-AEBBCCD48E61"
}
```
https://invent.kde.org/qt/clang/llvm-project/-/commit/668134e8acf10218663a0c33835bd4157ba358c4

Git commit a43296488ed34006f3201a258e712ae01fe63214 by GitHub (on behalf of Dmitry Sidorov) on 07/08/2026 at 00:51..
[AMDGPU] Fix sign of zero in fpround(fmul) -> V_{MAD,FMA}_MIX{LO,HI} (#214544)

The isel patterns lowering `fptrunc (fmul float %a, %b)` to a mix
instruction passed +0.0 as the FMA addend. Under round-to-nearest fma(a,
b, +0.0) is +0.0 whenever a * b is -0.0, so the sign of zero was lost:
on gfx90a, `(half)(-1.0f * 0.0f)` returned +0.0.

Use a -0.0 addend instead, which is the correct multiplicative identity
for an FMA and is what the f32 sibling pattern in MadFmaMixFP32Pats has
always done.

Verified on gfx90a: (half)(-1.0f * 0.0f) now returns 0x8000.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a43296488ed34006f3201a258e712ae01fe63214

Git commit 5be66d0a9afe1268bf7ff75c69a32b141d4f0096 by GitHub (on behalf of Dmitry Sidorov) on 07/08/2026 at 00:52..
[NFC][AMDGPU] Let IR level callers query the FMA/FMAD predicates (#213310)

isFMADLegal and isFMAFasterThanFMulAndFAdd read the denormal mode out of
the MachineFunction, so nothing before instruction selection can ask
them whether an fmul/fadd pair will be fused. Take an explicit
DenormalFPEnv instead, and make the existing MachineFunction /
SelectionDAG / MachineInstr entry points thin wrappers over it.

Also override the IR level isFMAFasterThanFMulAndFAdd hook. The two
views agree by construction, since SIModeRegisterDefaults copies its
denormal fields out of getDenormalFPEnv.

isFMADLegal uses VT as written and does not look through vectors, so a
vector type reports false, as in the SelectionDAG overload it was
extracted from.

The patch is preparation for querying these from getArithmeticInstrCost
and a revived isProfitableToSinkOperands.

Contributes to #211092

Assisted-By: Claude Opus 5
https://invent.kde.org/qt/clang/llvm-project/-/commit/5be66d0a9afe1268bf7ff75c69a32b141d4f0096

Git commit 1c0eda0d2371a6a755f90299892a7b89dc917442 by GitHub (on behalf of Mingjie Xu) on 07/08/2026 at 01:15..
Revert "[SCEV] Speed up forgetLoop by avoiding def-use walk for loop-header PHIs" (#212485)

Reverts https://github.com/llvm/llvm-project/pull/201572
Multiple miscompilations are reported, see
https://github.com/llvm/llvm-project/issues/207744,
https://github.com/llvm/llvm-project/issues/212027

That commit made forgetLoop() rely on LoopUsers[L] and stop walking the
def-use chain of the loop-header PHIs. This is insufficient, because
some cached data is derived from the underlying IR of SCEVUnknown, it is
not reachable from LoopUsers[L].
After that commit, forgetLoop() no longer invalidated them, so stale
UnsignedRanges / SignedRanges, ConstantMultipleCache, ValuesAtScopes
cause miscompilations.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1c0eda0d2371a6a755f90299892a7b89dc917442

Git commit 1b8dcb4f42f7ce005a223259e0453440d7eed00f by GitHub (on behalf of Alex MacLean) on 07/08/2026 at 01:25..
[NVPTX] Model SM architectures as subtarget features (NFC) (#214335)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1b8dcb4f42f7ce005a223259e0453440d7eed00f

Git commit 56a654b9a9cffd32318d7ca5c6ee997827c07ecf by GitHub (on behalf of Shoreshen) on 07/08/2026 at 01:33..
[DAG] Change `isExtractSubvectorCheap` into `getExtractSubvectorCost` (#213614)

This changes `isExtractSubvectorCheap` into `getExtractSubvectorCost`.

This is preparing for #201056 in order to remove `isNarrowingProfitable`
bail out for `narrowInsertExtractVectorBinOp`.

The reason is `isNarrowingProfitable` should be applying on scalar
variable instead of vectors.

---------

Co-authored-by: shore <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/56a654b9a9cffd32318d7ca5c6ee997827c07ecf

Git commit c6eb5e390833295393e4d96c64adc67c4e3729b8 by GitHub (on behalf of Reid Kleckner) on 07/08/2026 at 01:54..
[docs][clang-format] Migrate generated clang-format docs to markdown (#211398)

Tracking issue: #201242
See the [migration guide] for more information. 

This is a stacked PR based on #211397 , which will be a standalone
commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments in `Format.h` and `IncludeStyle.h` were also
modified to use markdown constructs. Mostly this means using single
backticks instead of double backticks, which is the Doxygen-native way
of expressing code font blocks anyway, so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c6eb5e390833295393e4d96c64adc67c4e3729b8

Git commit 8307b46d3ad5ace00c21e1fec6ef4ef4284290e9 by GitHub (on behalf of Fabian Parzefall) on 07/08/2026 at 02:02..
[BOLT] Support runtime libraries built as thin archives (#214292)

In some configurations, BOLT runtime libraries may be built as thin
archive. Use the more generic `Archive::create` to handle these.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8307b46d3ad5ace00c21e1fec6ef4ef4284290e9

Git commit 07ae984afdd9b1e024984e61c3e4f5948032e06b by Reid Kleckner on 07/08/2026 at 02:17..
[docs] Rename selected Clang docs to Markdown
https://invent.kde.org/qt/clang/llvm-project/-/commit/07ae984afdd9b1e024984e61c3e4f5948032e06b
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.