[LifetimeSafety] Track a temporary materialized by a default argument (#239586)
The CFG does not visit a default argument's expression (PR13385), but it
does expire the temporaries it creates. Such a temporary therefore had
no loan, and a view of it could dangle unreported. Issue the loan at the
CXXDefaultArgExpr, so it is reported at the call.
Assisted-by: Claude Opus 5.5
---------
Co-authored-by: Gabor Horvath <gaborh at apple.com>
net/librdkafka: Update 2.8.0 => 2.16.0
Since it's a lot of version updates, it's advised to see the Changelog.
Changelog:
https://github.com/confluentinc/librdkafka/blob/v2.16.0/CHANGELOG.md
Port changes:
- Update WWW to the redirected URL.
- Switch to CMake to modernize the build system and generate proper
SONAME entries.
- Add build option for SASL support.
- Disable building static libraries.
- Attempt to fix some test suite build and run issues.
PR: 299455
Sponsored by: PANS Jarosław
Reviewed by: diizzy
Approved by: pizzamig (maintainer timeout)
[4 lines not shown]
[libc][docs] Migrate docgen output to MyST Markdown (#239413)
The rest of libc/docs/ has migrated to MyST Markdown, leaving docgen as
the last generator emitting reStructuredText list-tables with plain
checkmark substitutions.
Switch docgen to emit MyST Markdown with styled HTML status tables that
adapt to Furo's light and dark colour themes and include screen-reader
labels for symbol status badges.
Assisted-by: Automated tooling, human reviewed.
net/librdkafka: Update 2.8.0 => 2.16.0
Since it's a lot of version updates, it's advised to see the Changelog.
Changelog:
https://github.com/confluentinc/librdkafka/blob/v2.16.0/CHANGELOG.md
Port changes:
- Update WWW to the redirected URL.
- Switch to CMake to modernize the build system and generate proper
SONAME entries.
- Add build option for SASL support.
- Disable building static libraries.
- Attempt to fix some test suite build and run issues.
PR: 299455
Sponsored by: PANS Jarosław
Reviewed by: diizzy
Approved by: pizzamig (maintainer timeout)
[2 lines not shown]
[NFC][RISCV] Add curly braces around case statement (#239653)
Since TRI is declared after this case statement without a new scope, it
is scoped to the whole switch statement, and thus adding a new case
statement after it would try to jump over the initialisation, which is
not permitted. Add braces so this issue is no longer lurking and new
case statements can be added at the end in future.
Fixes: 228f88fdc8e9 ("[RISCV] Inline Assembly: RVC constraint and N
modifier (#112561)")
amd64/vmm: Don't advertise AMD PerfMonV2 or performance counters
vmm does not handle CPUID leaf 0x80000022, so a FreeBSD guest on a
Family 19h or later host panics on "kldload hwpmc", which trusts the
PerfMonV2 bit and writes AMD_PMC_GLOBAL_CTL.
Tested by: Osvaldo Janeri Filho <ojanerif at amd.com>
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Reviewed by: markj, kib
Differential Revision: https://reviews.freebsd.org/D61141
hwpmc: Decline the AMD PerfMonV2 path when GLOBAL_CTL is absent
The v2 path writes AMD_PMC_GLOBAL_CTL whenever the PerfMonV2 CPUID bit
is set. bhyve passes that bit through from the host but does not emulate
the register, so loading hwpmc in a guest on a Family 19h or later host
panics the kernel.
amd_v2_hwcheck_cpu() already probes EVSEL MSRs, so probe GLOBAL_CTL
there too, in order to reject the v2 path and fall back to the generic
CPU class.
Fixes: 9d3064010590 ("hwpmc_amd: add PerfMonV2 global-control path")
Tested by: Osvaldo Janeri Filho <ojanerif at amd.com>
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Reviewed by: mhorne, afscoelho at gmail.com
Differential Revision: https://reviews.freebsd.org/D61133
science/py-lifelines: update to 0.30.3
This fixes runtime with modern python versions and dependencies stack.
PR: 300002
Reported by: Patrick Crandol <patrick at crandol.com>
math/py-autograd-gamma: add new port
autograd compatible approximations to the derivatives of the Gamma-family of
functions.
This is a requirement to update science/py-lifelines to latest version.
[LoongArch] Enable LoopDataPrefetch for LA464/LA664 (#239076)
Enable LoopDataPrefetch by default for LA464/LA664, move the prefetch
parameters into `LoongArchSubtarget::initializeProperties` and also
limit the MinPrefetchStride to 2KB.
We've created a micro-benchmark which implements one 8-byte load per
iteration with 50 dependent ALU ops of other work, measured on a
Loongson 3B6000 (LA664).
```
stride no preld best preld
<= 64 B 26.2 ns 25.8 ns
1 KiB 30.2 ns 25.9 ns (only when prefetching 32 iterations ahead)
2 KiB 108.4 ns 28-30 ns (4+ iterations ahead)
16 KiB 110.7 ns 28.5 ns
```
The hardware prefetchers stop tracking a stream somewhere between a 1
KiB and a 2 KiB stride. Below that, software prefetches only add
instructions and increase the run time.
[14 lines not shown]
[Flang][NFC] Move code from header to .cpp (#239552)
Fifth cleanup after #216960
Some functions are not templates anymore or full specializations now and
can be moved from .h to .cpp.
`FoldEnumerationNextOrPrevious` and `GetAttrs<Expr<SomeType>>` predate
#216960 but are also too large to be functions implemented in a header.
[AArch64] Add missing patterns for ld1rq for FP types.
When NEON is available, the FP types are promoted to integer
types and bitcasted. But for streaming mode, this causes some
code quality regressions and may generally not be desirable
when it's better to reduce the number of GPR <-> FPR transfers.