[Clang][CodeGen] Emit alignment information for indirect arguments (#201999)
Previously, arguments with `ABIArgInfo::Indirect` would not be given
alignment information if it wasn't `byval`. This could prevent certain
optimizations, such as those guarded by
`isDereferenceableAndAlignedPointer` checks. The missing
dereferenceability information is pointed out in
https://github.com/llvm/llvm-project/issues/129337, for example.
This PR will fix the first half of this problem, which is emitting
alignment information. Dereferenceability information will be added in a
subsequent PR.
ZTS: l2arc_multidev_throughput_pos relax throughput window
Occasionally in the CI this test will fail because the throughput for
one of the windows drops slightly below 50%. This is likely due to
running in the virtualized CI environment. Drop the performance cutoff
from 50% to 40% to try and reduce the number of false positives.
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #18727
NAS-141457 / 25.10.5 / V-series V2xx + rear-bay enclosure support (by darkfiberiru) (#19241)
## Summary
Adds V2xx (V260/V280) enclosure management and reworks V-series rear-bay
support to use the bifurcated PEX89032 NTG chip's SES path. Two commits,
each independently functional / bisectable:
### Commit 1 — V2xx front-bay enclosure support
V2xx front bays are served by a single Broadcom PEX89088 PCIe switch
chip partitioned into two SES VirtualSES enclosures (replacing V1xx's
dual 9600-12i4e SAS HBAs). The two partitions advertise the SAME encid,
so the V1xx encid-comparison disambiguation fails — `ses_enclosures2`
falls back to inspecting Array Device Slot element descriptor labels
(`slot01..slot12` = NVME0; `slot13..slot24` = NVME8). `slot_mappings`
gets a V2xx branch keyed by `enc.product` (`4IXGA-SWp/s`).
`enclosure_class` recognizes the V2xx model and exempts `4IXGA-SW` from
the V-series ECStream filter. `sysfs_disks` gains an NVMe-namespace
[57 lines not shown]
[PowerPC] Assign instruction dbca to IIC_LdStDCBA itinerary
The itinerary IIC_LdStDCBA is defined and used in scheduling models,
but no instruction is assigned to it. Change this by assigning the
instrucgtion dbca to it. This is NFC because all the scheduling models
have the same pipeline modeled for IIC_LdStDCBF and IIC_LdStDCBA.
[LV] Handle partial reductions with predication (#194859)
Enables partial reductions to be used when a reduction is gated by a
condition inside a loop.
Previously when a loop contained a condition, this would introduce a
BLEND to the chain, which prevented a partial reduction from being used
in a pattern where it would normally be created.
This patch records the blend as part of the partial reduction chain and
recognizes blends that select between the updated reduction value and
the previous accumulator.
For tail-folded loops, the transform also combines the loop active-lane
mask with the blend condition, so the generated partial reduction is
predicated by both the tail-folding mask and the original loop
condition. This allows partial reductions to also be used for predicated
reductions with tail folding enabled.
[X86] haddsub-undef.ll - rename undef functions to match equivalents in phaseordering tests (#207207)
Still some churn / regressions to address, but this is the same IR as
we're attempting in PhaseOrdering/X86/hadd.ll
Still need to update them to the vectorized IR from the middle-end
Merge tag 'net-7.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Paolo Abeni:
"Including fixes from netfilter and batman-adv.
Current release - new code bugs:
- netfilter: cthelper: cap to maximum number of expectation per master
Previous releases - regressions:
- netpoll: fix a use-after-free on shutdown path
- tcp: restore RCU grace period in tcp_ao_destroy_sock
- ipv6: fix NULL deref in fib6_walk_continiue() on multi-batch dump
- batman-adv: dat: ensure accessible eth_hdr proto field
[46 lines not shown]
clang: Use a switch over APFloat semantics instead of if chain
Replace the chain of fltSemantics singleton address comparisons with a
switch over the APFloatBase::Semantics enum.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
clang: Remove useFP16ConversionIntrinsics target option
Follow up to #174494. Remove the remnants of the control to
use llvm.convert.to.fp16/llvm.convert.from.fp16. Prefer
directly using the IR half type, unless the value is used
in an ABI context where it needs to remain as i16.
I did the first 80% of this a long time ago, and AI finished
the last bit and handled the recent rebases and test updates.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
Merge tag 'mfd-fixes-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD fix from Lee Jones:
- Add MFD mailing list to MAINTAINERS
* tag 'mfd-fixes-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
MAINTAINERS: Add a mailing list entry to MFD
[X86] Add AVX512BMM support for AMD Zen 6 (znver6) (#182556)
This patch adds support for AVX512BMM (Bit Matrix Multiply) instruction
set extension for AMD Zen 6 processors.
AVX512BMM includes three instructions:
- VBITREVB: Bit reverse within each byte
- VBMACOR: Bit matrix multiply with OR accumulation
- VBMACXOR: Bit matrix multiply with XOR accumulation
The following implementations for AVX512BMM are added:
- Define __AVX512BMM__ macro for znver6
- avx512bmmintrin.h, avx512bmmvlintrin.h header files
- Implement _mm_bitrev_epi8, _mm256_bitrev_epi8, _mm512_bitrev_epi8
- Implement _mm256/512_bmacor16x16x16 and bmacxor intrinsics
pinentry: add a CHECK_PORTABILITY_SKIP
build-aux/config.rpath:286:12: double brackets
if [[ $libdir = '/usr/lib' ]] || [[ $libdir = '/usr/lib64' ]] ;
This file comes from gnulib and was perhaps generated with an
old version? gnulib master does not have the double brackets.
This code is under a case statement for GNU platforms so don't
bother patching it in pkgsrc.
[clang] Check `T` and `U` operands of __reference_constructs_from_temporary are complete types (#206703)
This PR fix a bug introduce by
https://github.com/llvm/llvm-project/pull/206527.
[type.traits] Precondition : "T and U shall be complete types, cv void,
or arrays of unknown bound first.
The check for which
[#206527](https://github.com/llvm/llvm-project/pull/206527.) disables if
the first argument isn't a reference type.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>