[SPIRV] Support non-constant indices for vector insert/extract (#172514)
This patch updates the legalization of spv_insertelt and spv_extractelt
to
handle non-constant (dynamic) indices. When a dynamic index is
encountered, the
vector is spilled to the stack, and the element is accessed via
OpAccessChain
(lowered from spv_gep).
This patch also adds custom legalization for G_STORE to scalarize vector
stores
and refines the legalization rules for G_LOAD, G_STORE, and
G_BUILD_VECTOR.
Fixes https://github.com/llvm/llvm-project/issues/170534
netstat: fix a segfault with --libxo
Fix a segfault when printing the "protocol" field. The field-format and
encoding-format were expecting different numbers of arguments.
Also, fix the width of the tcp-state field in encoded output.
PR: 292228
Fixes: c2b08c13c20 netstat: add support for UDP-Lite endpoints
MFC after: 1 week
Sponsored by: ConnectWise
Reviewed by: tuexen, js, des
Differential Revision: https://reviews.freebsd.org/D54567
NAS-139180 / 25.10.2 / Change error on core.bulk op to LongString (by anodos325) (#17957)
Depending on the circumstances and exact arguments passed to a method,
the operation may fail with a detail python traceback that requires a
LongString for the error message.
Original PR: https://github.com/truenas/middleware/pull/17956
Co-authored-by: Andrew Walker <awalker at ixsystems.com>
Address reviewer feedback: fix getWaitCountMax and reduce code duplication
- Fix getWaitCountMax() to use correct bitmasks based on architecture:
- Pre-GFX12: Use getVmcntBitMask/getLgkmcntBitMask for LOAD_CNT/DS_CNT
- GFX12+: Use getLoadcntBitMask/getDscntBitMask for LOAD_CNT/DS_CNT
- Refactor repetitive if-blocks for LOAD_CNT, DS_CNT, EXP_CNT into
a single loop using getCounterRef helper function
- Fix X_CNT to return proper getXcntBitMask(IV) instead of 0
[LLDB] Add MSVC STL span formatter (#173053)
`std::span` didn't have a formatter for MSVC's STL yet. The type is
quite useful in C++ 20, so this PR adds a formatter for it.
Since the formatter is new, I made it work with both DWARF and PDB from
the start.
[SPIRV] Lower i1 comparisons to logical operations in regularizer pass.
UGT, UGE, ULT, ULE, SGT, SGE, SLT, SLE predicates for i1 types are now
lowered to equivalent logical operations (AND, OR, NOT) to ensure
valid SPIR-V, since SPIR-V boolean types only support logical operations.
NAS-139199 / 25.10.2 / Fix Futures resource leak in run_coroutine_threadsafe (by yocalebo) (#17969)
This fixes a leak whereby we're not tracking `Future` objects correctly.
This means they're never cleaned up and overtime they'll build up on the
main event loop.
I confirmed this behavior by running `midclt call interface.query` in a
tight loop on a box and then connecting a remote pdb session with the
middleware process. It was designed to "overrun" the main event loop,
what it did was build up a queue that never cleared itself. There were
~2.3k PENDING futures in our thread pool.
This does 2 things:
1. creates a `run_coroutine_threadsafe` wrapper that properly tracks the
futures so they're cleaned up
2. logs any exceptions that may occur in these "fire and forget"
futures.
Original PR: https://github.com/truenas/middleware/pull/17967
Co-authored-by: caleb <yocalebo at gmail.com>
audio/mumble: Fix build on aarch64
pkg-static: Unable to access file /wrkdirs/usr/ports/audio/mumble/work/stage/usr/local/lib/mumble/libmumbleoverlay.so:No such file or directory
pkg-static: Unable to access file /wrkdirs/usr/ports/audio/mumble/work/stage/usr/local/lib/mumble/libmumbleoverlay.so.1.5.0:No such file or directory
Upstream issue:
https://github.com/mumble-voip/mumble/issues/6971https://github.com/mumble-voip/mumble/pull/6978
Reported by: pkg-fallout
Tested by: fuz
Revert "SelectionDAG: Do not propagate divergence through glue (#174766)"
This reverts commit 47a0d0e42832558f999b149b22cfd48c46ef2a57.
Reverted due to test failures in LLVM_ENABLE_EXPENSIVE_CHECKS builds.
[libclc] Initial support for cross-compiling OpenCL libraries (#174022)
Summary:
The other GPU enabled libraries, (openmp, flang-rt, compiler-rt, libc,
libcxx, libcxx-abi) all support builds through a runtime cross-build. In
these builds we use a separate CMake build that cross-compiles to a
single target.
This patch provides basic support for this with the `libclc` libraries.
Changes include adding support for the more standard GPU compute triples
(amdgcn-amd-amdhsa, nvptx64-nvidia-cuda) and building only one target in
this mode.
Some things left to do:
This patch does not change the compiler invocations, this method would
allow us to use standard CMake routines but this keeps it minimal.
The prebuild support is questionable and doesn't fit into this scheme
[3 lines not shown]
[OpenMP][OMPIRBuilder] Attach `Attribute::OptimizeNone` to user-defined (and default) mappers
Disabling opts for user-defined mappers since, in some cases (see
`default-mapper-nested-derived-type.f90`), some optimizations and
instrumentations causes runtime crashes on the host. In particular, the
following:
- ths `X86DAGToDAGISel` pass and
- `OptNoneInstrumentation` (TODO zoom in further on passes that use this
instrumention object to find out the exact pass(es) causing the crash).
I couldn't find a way to fine-tune this for only the problematic passes
yet. I am very reluctant to do this, please let me know if there are
better solutions.