[AMDGPU] Handle high element extraction with G_UNMERGE_VALUES (#188287)
This allows to detect when G_UNMERGE_VALUES extracts a hi16 element and
select `s_cvt_hi_f32_f16` removing need for a shift.
[clang][NFC] Mark CWG743 and CWG950 as implemented and add tests (#197015)
[CWG743](https://wg21.link/cwg743) allows using `decltype` in a
*nested-name-specifier*, i.e.: `decltype(foo)::type`.
[CWG950](https://wg21.link/cwg950) allows using it as a
*base-specifier*, i.e.: `struct B : decltype(foo)`. Both these DRs were
resolved by [N3049](https://wg21.link/n3049).
Clang supports both of these since 3.1: https://godbolt.org/z/aohPs5zaa
[NFC][clang-tidy] Unify diagnostic emission in bugprone-unsafe-functions (#194709)
This patch extracts the three diagnostic forms currently duplicated
across the Custom and non-Custom branches of `check()` into a single
`emitDiag()` helper.
[libc] Use correct include path for in_port_t.h (#197187)
llvm-libc-types/stdint-macros.h does not exist. Not sure why this was
passing the CMake build, but this causes the bazel build to fail.
[CodeGen][NFC] Extract foldLoadInto helper in PeepholeOptimizer (#197110)
Pull the load-folding bookkeeping out of `PeepholeOptimizer::run` into a
new `PeepholeOptimizer::foldLoadInto` helper.
No functional change intended.
This is a preliminary NFC split out from #194662 per @RKSimon's review
suggestion:
> Still think this is worth pulling out as its own NFC PR
The follow-up patch (#194662) adds a second call site that folds a load
into an EFLAGS producer after `optimizeCmpInstr` erases the compare, and
will reuse this helper instead of duplicating the bookkeeping.
[flang][OpenMP] Fix data race with LINEAR clause on PARALLEL DO SIMD (#195634)
Fixes https://github.com/llvm/llvm-project/issues/180093
LINEAR variables on composite DO SIMD were being lowered onto omp.simd, which writes back unconditionally causing a race inside PARALLEL. Move them to omp.wsloop instead, which already has correct last-iter write-back with a barrier.
[llvm][tools] Add support to llvm-offload-binary to unbundle images inside OffloadBinary images (#184774)
Enhance the llvm-offload-binary tool to be able to unbudle with logic to
handle different cases related to spirv64-intel offload binary images.
It also allows to extract all images without requiring the use --image
options to simplify its use.
Assisted by Claude.
[libc] Remove some global printf_core declarations in float_dec_converter.h (#196860)
fixed_converter.h and float_hex_converter.h have local declarations with
the same name shadowing these, causing -Wshadow warnings. For now, just
don't have global declarations for these.
[clang-tidy] Run analysis even with no checks (as long as `--allow-no-checks` is passed) (#194006)
Fixes #192713.
Currently, clang-tidy exits immediately if the only enabled checks are
`clang-diagnostic-*` ones. This prevents the reasonable use case where a
user isn't interested in any "native" clang-tidy checks and just wants
to use clang-tidy as a frontend for builtin clang warnings.
Revert "mlx5e: Ensure rx timestamps are monotonically increasing"
This reverts commit ce33f96fcf2f2d0d49c406274bcc64df72fe530e.
It turns out that doing it this way did indeed prevent backwards
movement of timestamps, however it also lead to an ever increasing
error, eventually yielding timestamps hundreds or thousands of
seconds in the future.
Back this out until we can come up with a solution that prevents
backards timestamps and also avoids accumulating error.
Sponsored by: Netflix
databases/mongodb80: build error on FreeBSD 16
src/third_party/boost/boost/mpl/aux_/integral_wrapper.hpp:62:51: error: in-class initializer for static data member is not a constant expression
62 | BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upstream has newer versions. So upgrading probably fixes this.
But upgrading needs adoption of Bazel as a build system.
Help is appreciated for moving to Bazel.
lacp: fix link state with multiple aggregators
When we have multiple aggregators, the link state should reflect the
state of the active aggregator.
This change was prompted by a script pruning 10GbE interfaces from an
lacp bundle with 100GbE interfaces. Mixing speeds like this creates multiple
aggregators. When the last 10GbE interface was removed, lagg0 would loose
link because the current aggregator's port count would drop to 0, even
though the 100GbE aggregator had active ports. This left the system in a
hard to diagnose state where lagg0 reported "active", but all outgoing
IP traffic was dropped, due to the RT_LINK_IS_UP() check noticing lagg0's
if_link_state was marked as down.
Reviewed by: zlei
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D56579
[AArch64] Add C1-Nano scheduling model (#182316)
Instead of using the Cortex-A510 scheduling model, C1-Nano now uses
its own scheduling model, based off of the C1-Nano Software
Optimization Guide:
https://developer.arm.com/documentation/109590/0001
Add LIT_UNSUPPORTED support to lit testing (#193766)
Add LIT_UNSUPPORTED support to lit, mirroring the existing LIT_XFAIL
implementation. This allows tests to be marked as UNSUPPORTED via
command line arguments (--unsupported, --unsupported-not) or environment
variables (LIT_UNSUPPORTED, LIT_UNSUPPORTED_NOT).
This feature enables users to dynamically mark tests as unsupported
without modifying test files, useful for CI/CD pipelines and
platform-specific test filtering.
Assisted by AI.
[DAGCombiner] Use KnownBits in `combineFMulOrFDivWithIntPow2` (#197097)
Use `computeKnownBits` to tighten the high bit width bound via
`countMaxActiveBits()`, which accounts for known leading zeros.
Co-Authored-By: Simon Pilgrim <RKSimon at users.noreply.github.com>