[TargetParser][Clang] Parse Intel GPU architecture names (#229247)
Add support for Intel GPU names in --offload-arch.
#222072 added the mapping from a detected GPU version to its name. This
PR adds the reverse mapping, needed when a user names a GPU through
--offload-arch. Previously, clang recognized only the hardcoded name
bmg_g21.
The shared Intel GPU list now recognizes device names such as
xe-bmg-g21, compatibility names such as xe-dg2, aliases for products on
the same GPU IP such as xe-arl-u, and numeric names such as xe_20.1.0.
The driver keeps each name as given, so it reaches ocloc unchanged.
bmg_g21 is replaced by xe-bmg-g21.
Building one device job per IGCA target follows once IGCA targets are an
OffloadArch (#227468). Selecting the SPIR-V target from an Intel GPU
name and diagnosing unknown names follow in #229248 and #229249.
[2 lines not shown]
[SPARC] Fix the f128 one and ueq compares without hard quad (#234315)
_Q_cmp returns 0 for equal, 1 for less, 2 for greater, and 3 for
unordered. Masking with 3 does not do anything. fcmp one should return
true when ordered and not equal, so add 1 and mask with 2.
```
1 001 equal - false
2 010 less - true
3 011 greater - true
4 100 unordered - false
```
fcmp ueq is the complement.
Found when building glibc.
Assisted-by: Claude
[MemProf] Include callsite/alloc index in duplicate clone hash (#236790)
The ThinLTO backend computes a hash of each function clone's callsite
clone numbers and allocation hints, in order to detect clones that are
duplicates of an earlier clone (or the original function), which are
then emitted as aliases instead of separate copies. However, the hash
only included the non-default values, not which callsite or allocation
they were for. Therefore, for example, a clone whose callsites call
callee clones [1, 0] had the same hash as one with [0, 1], and was
incorrectly emitted as an alias of the latter, causing its callers to
call the wrong callee clones.
Include the index of each callsite or allocation, along with a tag
distinguishing the two kinds, in the hash.
Assisted-by: Gemini
[X86] Remove dead code from LowerADDSUBO_CARRY. Improve variable names. NFC (#236830)
The illegal type checks are unreachable as this code is only called
after type legalization.
Move a getValue(1) call earlier and give it its own variable name.
This matches the review feedback I received when copying the current
code structure to M68k in #235569.
[MIR] Serialize MachineBasicBlock::LabelMustBeEmitted (#234850)
Preserve `MachineBasicBlock::LabelMustBeEmitted` when printing and
parsing MIR using a `label-must-be-emitted` block attribute.
Assisted-by: GPT-6
[libc][math] Return a floating NaN from the cbrtf16 signaling path (#236478)
Return a floating quiet NaN from cbrtf16's signaling-NaN path instead of
numerically converting the integer NaN encoding. Use conditional
FE_INVALID
reporting and add a regression checking NaN quietness, flags and errno.
The ordinary cube-root approximation is unchanged.
Tests: two smoke configurations per compiler with GCC 13 and Clang 18 on
x86-64 Linux.
Assisted-by: GitHub Copilot
Signed-off-by: sriramshastry <sriramshastry at gmail.com>
Merge tag 'net-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski:
"Current release - new code bugs:
- mctp: usblib: fix assertion breaking esoteric builds
Previous releases - regressions:
- Revert advertising the TCP MSS from the configured MTU
- netlink: check sk_rcvbuf before charging the dump skb
- eth:
- ti: am65-cpts: fix support for PTP_EXTTS_REQUEST2 ioctl
- mlx4: always create the eth and ib auxiliary devices
- tg3: invert restart quirk logic to restrict SNP power-down bypass
- bnxt: recycle agg buffers when Rx head buffer allocation fails
[38 lines not shown]
[OpenMP] Mostly remove experimental taskgraph support from runtime (#194046)
Because the changes to runtime support for taskgraph record/replay
are quite extensive, they will likely be more comprehensible if the
existing parts are removed before the new parts are added. This is the
removal part.
Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Pull bpf fixes from Alexei Starovoitov:
- Remove BPF_F_ARENA_SCALAR flag and .arena.data section in libbpf that
were added for rust-bpf in this merge window. We found a cleaner
approach that does it on compiler side instead of kernel/libbpf. No
released kernel has them (Alexei Starovoitov)
- Fix bpf_send_signal_task() returning -EPERM when it is called from a
kernel thread (Aditya Sharma)
- Various fixes (Alexei Starovoitov):
- Use emit_rsb_call() to call bpf_unwind_target() in x86 JIT to fix
objtool warning during the build
- Fix scalar evolution: clear delta of a widened register, don't
widen a pointer to a buffer, don't clamp a register whose type
changed in the loop, and reset the range of a clamped packet
pointer
[60 lines not shown]
mbuf: Match TCP RSS hash types exactly
RSS hash types are encoded values, not independent flags. The bitmask
check in M_HASHTYPE_ISHASH_TCP() also accepts UDP, address-only and opaque
hash types, causing the syncache to retain them instead of falling back
to a software TCP hash.
Compare against the three TCP four-tuple hash types after masking the
inner-header flag. Keep the existing macro interface and use an inline
helper to preserve single evaluation of its argument.
Add ATF coverage for all 256 hash-type byte values, including inner-header
hashes, and verify single evaluation of the mbuf argument.
Reviewed by: cc, gallatin
Fixes: a485399f8834 ("tcp: restrict flowtype copying to specific RSS TCP types")
Sponsored by: BBOX.io
[SPIR-V] Fix and enforce minimum versions of decoration operands (#229058)
Version lookups decoded the hex table values as decimal, so no minimum
version was ever met, also add the missing minimum versions for
UniformId (1.4), BufferBlock (1.3), AlignmentId and MaxByteOffsetId
(1.2)
Requirement contract for operands without capabilities:
- Version only: the target version must meet it
- Version and extension: a met version is enough and the extension is
not emitted (e.g. NoSignedWrap at 1.4+), otherwise an enabled extension
stands in for the unmet version
[AMDGPU] Retire dead uses before adding defs in GCNDownwardRPTracker (#228294)
Before this patch, the downward order for each instruction was the
following: advanceToNext() added an instruction's defs to the live set
while the uses that died at that instruction were still in it. Then it
sampled MaxPressure. At the next step, advanceBeforeNext() called
retireDeadOperands to drop the dead uses and defs. Then it sampled
MaxPressure. But this order could lead to inflated register pressure
reporting that could adversely affect the scheduler stages. This was
additionally inconsistent with the add/drop order of the generic
tracker.
The changes in this patch apply the transfer function in the order the
generic tracker uses in RegPressureTracker::advance(). Retire the lanes
that die at the instruction first, then add its defs. Early-clobber defs
are the exception. PHIs are skipped because nothing dies there. All of
these are now done by advanceToNext().
advanceBeforeNext() now only drops dead def lanes, the uses having been
[23 lines not shown]
[ASan][test] Keep Posix/waitid.cpp overflow within stack redzone (#236825)
`waitid.cpp` previously pointed `siginfo_t *si` completely past a
12-byte local `int x[3]`, causing the kernel `waitid` syscall to write
128 bytes beyond `x`'s right stack redzone.
On AArch64 without UAR (such as Android, where
`detect_stack_use_after_return` defaults to `false`), at `-O3` the
64-byte ASan stack frame sits immediately below `main`'s saved `[x29,
x30]` whenever ASLR aligns `x29` to 32 bytes (~50% of runs), so `waitid`
overwrote the caller frame pointer on the stack before
`COMMON_INTERCEPTOR_WRITE_RANGE` ran. Commit `be8b3f0c2204` previously
attempted to disable the test on AArch64 with `UNSUPPORTED: aarch64`,
which did not match compiler-rt lit's `aarch64-target-arch` feature.
Size `x` to `sizeof(siginfo_t)` and offset `si` by `argc * sizeof(void
*)` so the overflow stays inside ASan's right stack redzone without
corrupting the caller frame record, and remove the ineffective `aarch64`
exclusion.
[4 lines not shown]
graphics/photoqt: Update to 5.4.1
- Switch to Qt 6
- Rework options for the new WITH_* CMake switches
- Add patch to use extattr(2) for star ratings
- Add patch to show QR/barcode detection when built with ZXingQt
- Enable tests
- Drop patch merged upstream
- Take maintainership
- Remove deprecation
ChangeLog: https://photoqt.org/changelog
MFH: 2026Q4
(cherry picked from commit 2fb8dc192150d854a68f85fc3a1ead3061db2ab6)
[clang][docs] Fix the __block import example in the Block ABI (#226626)
The helpers in this example passed `BLOCK_FIELD_IS_BYREF |
BLOCK_BYREF_CALLER`, but clang passes only `BLOCK_FIELD_IS_BYREF` there,
as the rest of the document says.
Also fixed the field names, the type of `forwarding`, the helpers of the
`int` variable and a missing comma, to match what clang generates.
Checked with `clang -cc1 -rewrite-objc -fblocks` from clang 3.0 on this
example; current clang passes the same flag.
See also #90341.
Assisted-by: Claude
atf: refer to `common.mk` using `SRCTOP`
This helps make the dependent Makefile (and the values contained within)
easier to catch when upgrading atf in the future.
MFC after: 1 week
atf: refer to `common.mk` using `SRCTOP`
This helps make the dependent Makefile (and the values contained within)
easier to catch when upgrading atf in the future.
MFC after: 1 week
[Clang][DebugInfo] Use macro expansion locations by default (#235205)
Sample PGO testing of -debug-info-macro-expansion-loc is complete. Make
its expansion-location behavior unconditional and remove the temporary
cc1 flag, code generation option, and location helper.
Update the macro debug-info regression test to check the default
behavior, including function line and column locations, and document the
removed flag in the release notes.
Fixes #175249
Assisted-by: Argon
Change invalid reference LE_Set_Scan_Parameters to LE_Set_Scan_Param
hccontrol(8) lists "LE_Set_Scan_Parameters" as a subcommand, but it does
not work on recent releases. Use the LE_Set_Scan_Param instead as that
seems to be the new name according to the source file. Update the man
page accordingly.
PR: 300178
Event: Oslo Hackathon 2026