Revert "sound/midi: Drain the mpu401 callout before device teardown"
This was committed to main by accident, but was also buggy.
This reverts commit 91539591d7f8dd8ca24ced875bd16c3ba3c7d201.
[SystemZ] Fix SIGN_EXTEND_VECTOR_INREG of shuffles (#241940)
`lowerSIGN_EXTEND_VECTOR_INREG` folds a `VECTOR_SHUFFLE` feeding the
extension into the start offset of its `UNPACK_HIGH`/`UNPACK_LOW` chain
when the extended lanes are consecutive elements of the shuffle input.
The offset is taken from the shuffle mask, which indexes the
concatenation of both shuffle operands, but the unpack chain was always
built on operand 0. When the offset was at least the lane count of one
operand, the chain extended unrelated lanes of the first operand instead
of lanes of the second one.
Select the operand the offset points into and make the offset relative
to it.
Fixes #238713 by implementing the suggested solution.
Assisted-by: IBM Bob
[AMDGPU] Use DataLayout sizes in the bitcast cost, compute each EVT once
getPrimitiveSizeInBits returns 0 for pointers, so use the DataLayout
sizes for the size check. Compute the EVT of each side once and use it
for both checks. The costs do not change.
Assisted-by: Claude Opus
[AMDGPU] Move the bitcast cost comments, document the i1 mask test
Put the comment about the scalarized parts of a vector bitcast above
the size check, and the comment about the shared registers inside it.
Say in the test which case @i1_mask covers.
Assisted-by: Claude Opus
[AMDGPU] Treat a bitcast between legal types as free
The generic cost model treats a bitcast as free only when both types
are integer types or both are not. AMDGPU keeps integer and
floating-point values in the same registers, so a bitcast between two
legal types is a no-op. A scalar bitcast from i32 to float cost 1, but
the vector bitcast from <2 x i32> to <2 x float> cost 0. The SLP
vectorizer counted this difference as a saving.
A bitcast that involves a type the target legalizes, such as a vector
of i8, keeps its cost, because the lanes may need repacking.
Assisted-by: Claude Opus
Revert "[APFloat] Support user defined bit conversions (#240920)" (#242244)
This reverts commit 2be50053ae1b2e4d1a90683e93e451b065f56155.
This is failing in llvm::APFloatBase::SemanticsToEnum on buildbots and
causing considerable warnings on MSVC builds.
www/immich: Fix the storage usage display
node reports no frsize on FreeBSD, so the computed values came out NaN
and the server reported no disk usage at all. Fall back to bsize.
Sponsored by: Netzkommune GmbH
aw_sid: Add support for the H6
Add the SID of the H6. The efuse starts at 0x200 like on the other
64 bits SoCs and starts with the 16 bytes of the chip ID, which awg(4)
uses to create a MAC address when the firmware did not give it one.
The thermal sensor calibration data is not added, there is no driver
for the thermal sensors of the H6.
Tested on: H6
axp81x: Honor the enable delay of the regulators
axp8xx_regnode_enable() always reported a delay of 0, so the
regulator-enable-ramp-delay property of the FDT was ignored. On the
Pine H64 model B the Ethernet PHY is supplied by ALDO2, which has a
delay of 100ms, and awg(4) resets the controller right after enabling
it, before the PHY is ready: the soft reset timed out and the interface
did not attach. Return the delay when enabling a regulator, like the
fixed regulator driver does.
Fixes: c175fd0fe8a3 ("axp81x: Add support for AXP803")
Tested on: H6
awg: Use the MAC address of the FDT
The firmware gives the MAC address of the controller in the FDT, in the
mac-address or local-mac-address property. awg(4) only used the address
in the registers, which is set when the firmware used the controller,
and the one created from the SID. On the Pine H64 the firmware does not
initialise the Ethernet and the SID driver does not support the H6, so a
random address was created and it changed at every boot.
Use fdt_ether_get_addr(), it takes the address of the FDT and keeps the
current one when there is none.
Tested on: H6
[mlir][SPIR-V] Round trip OpConstantNull of pointer and composite types (#241923)
Deserializer failed with "unsupported OpConstantNull type" on thes
types, map them to and from #spirv.null
Depends on #241765
[AArch64] Update test generator script for atomics (#241331)
Update the test generator script for AArch64 atomics to generate tests
for FP load/stores.
Also, update the test files accordingly.
[LLVM][SelectionDAG] Use WidenVecRes_Binary to widen fcopysign variants with matching operand types. (#238807)
ISD::FCOPYSIGN cannot trap, so doesn't need to call
WidenVecRes_BinaryCanTrap.
[cmake] Centralize LLVM ABI compile definitions (#239689)
This adds a helper function, `llvm_update_abi_definitions()`, that
updates the ABI-related compile definitions in a centralized manner. The
helper narrows down the compile definitions to where they are actually
needed, which is only in the MSVC/clang-cl dylib build. As a side
effect, this removes PCH-related warnings concerning these defines in
the non-dylib and non-MSVC builds.
This changes the `LLVM_BUILD_LLVM_DYLIB=ON`/`LLVM_LINK_LLVM_DYLIB=OFF`
MSVC build behavior, which is non-functional anyway, and object
libraries now receive the same definitions as their target, which is
more correct.
This also updates the `abi-breaking.h` definitions for MinGW to match
`llvm/Support/Compiler.h` to prevent breakage.
This is a first step toward supporting PCHs in the LLVM dylib build on
Windows, tracked in #226993.
[31 lines not shown]
[AMDGPU] Expand 32-bit constant addresses for VMEM loads (#240829)
Uniform addrspace(6) loads that cannot use SMEM can pass a 32-bit
pointer to a VMEM instruction requiring a 64-bit address, causing
invalid copies or assertions during register allocation.
Fixes https://github.com/llvm/llvm-project/issues/239192
[CostModel] NFC: Rename masked_compress_load.ll -> masked_compress_store.ll (#242259)
Also simplified masked_expand_load.ll and masked_compress_store.ll by
moving the target triple from the RUN line to the IR.
sound/midi: Drain the mpu401 callout before device teardown
midi_uninit() frees the snd_midi that mpu401_intr() reaches through
midi_in() and midi_out(), but the callout that calls it was drained
afterwards. Drain it first, and clear M_TXPEND so that a firing handler
does not re-arm itself.
Fixes: f960b33d35da ("sound/midi: Drain the mpu401 callout")
MFC with: f960b33d35da
Sponsored by: The FreeBSD Foundation
[libc] Enable -Werror in baremetal_common.cmake cache file
After recent fixes, all the warnings are gone in baremetal builds.
Enable -Werror again so that we can catch warnings as they come.