[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 4053f2b96988b69d68c8cc12913f51c149f1ac46 to 6a55a52cabb5760902af7aa970dd37a323e255ad
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 7d96bd2ac1532e9ec6adf8eada303b5fe646857f by GitHub (on behalf of Stanislav Mekhanoshin) on 27/07/2026 at 23:20..
[AMDGPU] Allow scalar operands in V_PK_LSHL_ADD_U64 (#212334)
Patch creates dummy source modifiers for this instruction to use
with OPSEL. Even though these do not support modifiers we can reuse
the same mechanics as with packed fp64 and other u64 to allow scalar
operands.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7d96bd2ac1532e9ec6adf8eada303b5fe646857f
Git commit 63fe0cfe25e6e438d64c81785b93e500855adb78 by GitHub (on behalf of Arthur Eubanks) on 27/07/2026 at 23:28..
Reapply "Disable RelLookupTableConverter on AArch64" (#212358)
This reverts commit ce8cf3f0a427f7fcf178a9a64ea48a4167211f82 (#207046).
Reland of #204669.
https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst#code-models
says that under the small code model rodata + text must fit in 2GB, but
the RelLookupTableConverter pass introduces PREL32 relocations from
.rodata to .data.rel.ro:
```
$ cat /tmp/a.c
extern void ext_func0(void);
extern void ext_func1(void);
typedef void (*func_t)(void);
static const func_t table0[2] = { ext_func0, ext_func1 };
static const func_t table1[2] = { ext_func1, ext_func0 };
static const func_t table2[2] = { ext_func0, ext_func0 };
static const func_t table3[2] = { ext_func1, ext_func1 };
const func_t *get_table(unsigned int idx) {
switch (idx % 4) {
case 0: return table0;
case 1: return table1;
case 2: return table2;
case 3: return table3;
}
return table0;
}
$ clang -O2 --target=aarch64-linux-gnu -fPIC -c /tmp/repro.c -o /tmp/repro.o
$ llvm-readelf -r /tmp/repro.o
...
Relocation section '.rela.rodata' at offset 0x370 contains 4 entries:
Offset Info Type Symbol's Value Symbol's Name + Addend
0000000000000000 0000000500000105 R_AARCH64_PREL32 0000000000000000 .data.rel.ro + 0
0000000000000004 0000000500000105 R_AARCH64_PREL32 0000000000000000 .data.rel.ro + 14
0000000000000008 0000000500000105 R_AARCH64_PREL32 0000000000000000 .data.rel.ro + 28
000000000000000c 0000000500000105 R_AARCH64_PREL32 0000000000000000 .data.rel.ro + 3c
...
```
https://invent.kde.org/qt/clang/llvm-project/-/commit/63fe0cfe25e6e438d64c81785b93e500855adb78
Git commit e364a21086c71a68cac28f25469a7b014d1c2abd by GitHub (on behalf of Ethan Luis McDonough) on 27/07/2026 at 23:43..
[Instrumentor] Reintroduce runtime inlining (#208072)
The ability to link in and eagerly inline a specified runtime was
present in older dev versions of the instrumentor. This patch ports that
functionality to the current instrumentor pass and adds a test.
Co-authored-by: Johannes Doerfert <[email protected]>
Co-authored-by: Kevin Sala <[email protected]>
Co-authored-by: Ivan Radanov Ivanov <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/e364a21086c71a68cac28f25469a7b014d1c2abd
Git commit 912128312f026605bce4ff11ef8a37d56a1a03f8 by GitHub (on behalf of Patryk Stefanski) on 27/07/2026 at 23:51..
[clang][Index][USR] Generate USRs for class-type non-type template arguments (#212356)
A class-type non-type template parameter is represented in the AST by a
TemplateParamObjectDecl, which has an empty DeclarationName.
USRGenerator had no visitor for it, so it fell through to
VisitNamedDecl, where EmitDeclName fails on the empty name and sets
IgnoreResults. That discarded the USR of the enclosing declaration.
Add a visitor that encodes the parameter object's type and value, so
specializations on distinct values get distinct USRs and equal values
agree.
Fixes #212351
https://invent.kde.org/qt/clang/llvm-project/-/commit/912128312f026605bce4ff11ef8a37d56a1a03f8
Git commit 5e91f5d57a19752fe245ab64c1265e26c44d0d76 by GitHub (on behalf of Alexey Bataev) on 28/07/2026 at 00:49..
[SLP]Fix dep accounting for expanded binops in non-scheduled entries
The extra dependency counted for the expanded form was never released
when the expanding entry had no schedule bundle and the block had no
copyable elements, leaving the operand's bundle unscheduled forever.
Take the pseudo-bundle path also when the instruction is an expanded
binop in some tree entry.
Fixes #212220
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/212380
https://invent.kde.org/qt/clang/llvm-project/-/commit/5e91f5d57a19752fe245ab64c1265e26c44d0d76
Git commit 30b8cb2003f7490eef20d8f31a8daa1cdb95f45d by GitHub (on behalf of Pengcheng Wang) on 28/07/2026 at 02:58..
[MacroFusion] Add RunPreRA/RunPostRA to select the scheduling stage (#212182)
MacroFusion runs in both the pre-RA and post-RA machine schedulers.
Add two `bit` fields to the `Fusion` base class, `RunPreRA` and
`RunPostRA`, both defaulting to `true`, so a fusion can opt out of a
scheduling stage. At least one of them must be `true`.
When a stage is disabled, `MacroFusionPredicatorEmitter` emits an early
`return false` guard for that stage (detected via the `NoVRegs` machine
function property) and only keeps the statistic counter for the stage
the fusion actually runs in. A pre-RA-only fusion is generated as:
```cpp
STATISTIC(NumNAMEPreRA, "Times NAME Triggered (pre-ra)");
bool isNAME(...) {
...
if (SecondMI.getMF()->getProperties().hasNoVRegs())
return false;
/* Predicates */
++NumNAMEPreRA;
return true;
}
```
Since the guard already establishes the stage, the trailing counter
`if/else` collapses to a single increment, dropping the redundant
`hasNoVRegs()` call and the counter that could never fire.
Assisted-by: TRAE CLI (GPT 5.5)
https://invent.kde.org/qt/clang/llvm-project/-/commit/30b8cb2003f7490eef20d8f31a8daa1cdb95f45d
Git commit bba25a8d818e146c132f927cc13b651359da4f26 by GitHub (on behalf of Alex MacLean) on 28/07/2026 at 03:30..
[NVPTX] Emit some more PTX directives through target streamer (#212070)
Move `.branchtargets`, `.reg`, `.local`, `.alias`, `.pragma`, and the
empty `.debug_macinfo` section out of hand-built strings in
`NVPTXAsmPrinter` and into `NVPTXTargetStreamer` hooks.
Opportunistically pulled at a few other threads that could use cleanup
as well.
Three behavior changes:
1. Jump table labels now come from `MachineFunction::getJTISymbol`, so
`$L_brx_<idx>` becomes `JTI<func>_<idx>` and is no longer shared across
functions
2. `.alias` names its aliasee by mangled symbol rather than raw IR name,
fixing `.alias a, ;` for an unnamed aliasee.
3. The rest of the test diff is a duplicated blank line that functions
with no register declarations no longer emit.
Co-Authored by Opus 5
https://invent.kde.org/qt/clang/llvm-project/-/commit/bba25a8d818e146c132f927cc13b651359da4f26
Git commit 1e1274b2ddfe4643eefdd1c6c83d6c2d61dace1d by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 04:07..
AMDGPU: Add -gen-amdgpu-target-def TableGen backend (#212318)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1e1274b2ddfe4643eefdd1c6c83d6c2d61dace1d
Git commit 065179637e5331424ffdef8060593c57a53a6391 by GitHub (on behalf of Matsu) on 28/07/2026 at 04:21..
[mlir][OpenACC] Lower single-block thread-only array reductions (#212369)
Example:
```fortran
!$acc parallel loop vector reduction(+:b)
do i = 1, n
b(i) = i
end do
```
In this code the array reduction is thread(vector)-only with no
gang/block launch dim, so a within-block `all_reduce` is a complete
reduction. ACCCGToGPU still rejected it as NYI because the accumulate
had no block context.
Fix: keep the NYI only when the region actually launches block
dimensions; allow the existing per-element `all_reduce` path for
single-block thread-only array accumulates.
https://invent.kde.org/qt/clang/llvm-project/-/commit/065179637e5331424ffdef8060593c57a53a6391
Git commit 6a55a52cabb5760902af7aa970dd37a323e255ad by GitHub (on behalf of Luke Lau) on 28/07/2026 at 04:31..
[VPlan] zext canonical IV in convertToStridedAccesses (#212291)
Currently we sext it which isn't correct at TCs > UINT32_MAX. Makes
#209611 NFC
https://invent.kde.org/qt/clang/llvm-project/-/commit/6a55a52cabb5760902af7aa970dd37a323e255ad