[bazel] Sort bazel_deps into 'compat floor' and 'latest' sections (#207605)
Some dependencies have big knock-on effects and to the benefit of
consumers should best be tracked as min-supported-version. This change
divides the `MODULE.bazel` file into two sections where one contains
known sensitive dependencies that should only be bumped as needed and
the second are flex dependencies that can freely be updated with minimal
impact to external consumers.
inpcb: make net.inet.ip.portrange port number limiting sysctls unsigned
And make net.inet.ip.portrange.randomized boolean.
Reviewed by: pouria, tuexen, markj
Differential Revision: https://reviews.freebsd.org/D57291
netinet6: further refactor in6_pcbconnect()
A mistake from 90ea8e89d9b7 is that in6_pcblookup_internal() was skipped
for an inpcb that had unspecified local address. This is incorrect, as
such inpcb could have already have a port set, and in_pcb_lport_dest()
shall not be called on such inpcb. That could lead to creation of an
alised connection in the database.
This makes the function almost identical to in_pcbconnect(). While here,
fix minor bug of missing INP_ANONPORT. This flag has no use in kernel,
but affects netstat(1) output in certain mode.
Fixes: 90ea8e89d9b751e8b5ae90ef3397883b035788e5
Reviewed by: pouria
Differential Revision: https://reviews.freebsd.org/D57987
[Coroutines] Use destroy slot for CoroElide resume fallthrough
Fixes https://github.com/llvm/llvm-project/issues/188230
When a switch coroutine is allocation-elided, resuming it can run through to a coro.end path and destroy the coroutine frame from inside the resume clone. That is fine for a heap-allocated frame, but it is wrong for the clang::coro_await_elidable CoroElide path: the caller may have supplied stack storage through the noalloc ramp. In that case, the frame's destroy slot is initialized to the cleanup clone, while the resume clone still emitted the normal coro.free/deallocation sequence and attempted to free storage owned by the caller.
This is not limited to coroutines where CoroSplit fails to see a final suspend. Clang still emits a final-suspend coro.suspend for a C++ final_suspend returning suspend_never, but that suspend can flow through to coro.end and self-destroy when resumed. For switch resume clones with a generated CoroElide noalloc variant, the fallthrough coro.end path now loads the destroy/cleanup function pointer from the coroutine frame and tail-calls it. The frame slot is the runtime discriminator: elided frames dispatch to cleanup and heap frames dispatch to destroy.
Add an IR regression for the split lowering and a C++ CodeGen regression for the original suspend_never final_suspend shape. The C++ test forces CoroAnnotationElide with -coro-elide-branch-ratio=0 because the current branch-frequency heuristic may otherwise skip the elision and hide the bug.
Assisted-By: Codex GPT 5.5
[AMDGPU] SIFoldOperands: Print instructions/operands in debug output (NFC) (#207945)
Print instructions/operands instead of their addresses in debug output.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Test real sum flag ordering
Move the ordering coverage for -freal-sum-reassociation and its negative
form into the driver forwarding test. Keep the lowering test to separate
fc1 checks for enabled, disabled, and default behavior.
Assisted-by: Codex
[clang] implement CWG2064: ignore value dependence for decltype
The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.
This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.
This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.
Fixes #8740
Fixes #61818
Fixes #190388
[Flang][OpenMP][Offload] Add Flang offload tests for common block and declare target (#202949)
This PR adds a couple of tests revolving around the usage of common
block with declare target in Fortran OpenMP.
[AArch64][LV] Cost low-VF interleaved access (#205844)
Adds a case to getInterleavedMemoryOpCost to cost scalable interleaved
memory accesses where the interleave factor is larger than the VF.
Previously for these cases, memory operations would be costed as
individual gathers and scatters, which may result in the LoopVectorizer
choosing a wider VF than necessary.
This changes proposes an alternative approach of using a contiguous
load/store of the interleaved vector followed by shuffles to get
the elements into place.
[libc++][ThreadSafety] Add thread safety annotations for variadic std::scoped_lock (#204462)
The thread safety annotations on std::scoped_lock were previously only
applied to the empty and single-mutex specializations. The general
variadic specialization carried no annotations, so -Wthread-safety
considered none of the mutexes held inside a multi-mutex scoped_lock
block and reported the guarded data accessed there as unprotected.
Now that Clang supports pack expansion inside thread safety attributes
(landed for Clang 21), annotate the variadic scoped_lock with
acquire_capability/requires_capability on its constructors,
release_capability on its destructor, and scoped_lockable on the class.
Fixes #42000.
Co-authored-by: Anthony Calandra <anthony at anthony-calandra.com>
Add evtag functions to libeventextra.
In base libevent event_tagging.c has been removed. Bring it back
into libeventextra which contains the features missing in base.
This avoids undefined references when building benchmarks/httperf.
OK sthen@
Update to version 2.43
- accommodate sox to sox_ns pkgsrc change
- in 'pthai-mp3-play, use new variable 'pthai-audio-command, preferring "play_ng" over "play"
- add 'pthai-lookup-all to return all matches for word lookup
[OpenMP] Remove internal linkage from __kmp_wait template (NFC) (#207983)
__kmp_wait in kmp_dispatch.h is a static function template in a header,
so any TU that includes it without instantiating it trips
-Wunused-template (kmp_runtime.cpp, kmp_affinity.cpp, kmp_global.cpp,
kmp_settings.cpp). It is used by kmp_dispatch.cpp and
kmp_dispatch_hier.h. Drop static, which the comment above it already
suggests.
Part of #202945
Do not ship evtag functions in base libevent.
Upstream libevent 2.1.13-stable contains several security fixes.
Our reduced libevent 1.4.15-stable does not contain the affected
code. The functions in event_tagging.c are only used by evrpc which
we have removed from libevent. As the attack vectors for the
upstream fixes go through evrpc to evtag, better remove this dead
code and do not export it in our libevent. Major library bump
needed.
OK dlg@ claudio@ sthen@
[SLP] Retune look-ahead scores for constants
Rescale LookAheadHeuristics scores and add ScoreSameConstants /
ScoreConstantScaleFactor so identical constants no longer score the
same as same-opcode instruction matches, fixing suboptimal operand
reordering around repeated constants (shift amounts, splat values).
Also retry a SplitVectorize alt-shuffle build for copyable-element
bundles when scheduling fails, instead of always falling back to a
gather, to fix regressions.
Reviewers: hiraditya, bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/207548