LLVM/project 38555dbllvm/lib/Target/RISCV RISCVISelDAGToDAG.cpp RISCVInstrInfoP.td

[RISCV][P-ext] Replace some custom isel code with tablegen patterns. NFC (#199881)
DeltaFile
+0-51llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
+17-1llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+17-522 files

LLVM/project 358f5e7llvm/lib/Target/RISCV RISCVInstrInfoP.td

[RISCV][P-ext] Add missing let Inst{31} = 0b0 to RVPPairShift_rr. (#199885)

This bit was accidentally left unset. I think this means we might have
treated this bit as a don't care for the disassembler could disassemble
some invalid encodings to these instructions. I didn't check the opcode
map closely enough to confirm this.
DeltaFile
+1-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+1-01 files

FreeBSD/src 773bbfcsys/dev/sound/pcm mixer.c mixer.h

sound: Update mixer.c LICENSE header

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+4-0sys/dev/sound/pcm/mixer.c
+4-0sys/dev/sound/pcm/mixer.h
+8-02 files

FreeBSD/src 5589a74sys/dev/sound/pcm mixer.c

sound: Retire snd_mixer->enuminfo

Instead of caching this when mix_setrecdevs() is called (which many
drivers never call), calculate it when we need it. After all, it is
quite rare that this structure is used by applications.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+23-55sys/dev/sound/pcm/mixer.c
+23-551 files

FreeBSD/src 6a3a42csys/dev/sound/pcm mixer.c mixer.h

sound: Retire unused mixer_get_lock()

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+0-10sys/dev/sound/pcm/mixer.c
+0-1sys/dev/sound/pcm/mixer.h
+0-112 files

FreeBSD/src 7485519sys/dev/sound/pcm mixer.c

sound: Do not lock before destroying snd_mixer->lock

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+0-1sys/dev/sound/pcm/mixer.c
+0-11 files

FreeBSD/src 64ebbb1sys/dev/sound/pcm mixer.h mixer.c

sound: Retire MIXER_SIZE and use correct size in DEFINE_CLASS

I am not sure why this hack was needed, but the size should be
sizeof(struct snd_mixer). Unfortunately, we have to expose snd_mixer,
but it should be better than relying on a hack.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+24-8sys/dev/sound/pcm/mixer.h
+0-22sys/dev/sound/pcm/mixer.c
+24-302 files

FreeBSD/src 1e72608sys/arm/allwinner/a64 sun50i_a64_acodec.c, sys/arm64/rockchip rk3328_codec.c

sound: Remove all remaining uses of mixer_get_lock()

These functions are called from sound(4) through MIXER_SET() in
mixer_set(), but nothing mixer-related is used or needs to be locked in
these cases.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+0-17sys/dev/sound/macio/onyx.c
+0-17sys/dev/sound/macio/snapper.c
+0-17sys/dev/sound/macio/tumbler.c
+0-14sys/arm/allwinner/a64/sun50i_a64_acodec.c
+0-14sys/arm64/rockchip/rk3328_codec.c
+0-795 files

FreeBSD/src 8e804f3share/man/man4 pcm.4, sys/dev/sound/pcm mixer.c

sound: Retire unused hw.snd.vpc_mixer_bypass

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+0-9share/man/man4/pcm.4
+0-5sys/dev/sound/pcm/mixer.c
+0-142 files

FreeBSD/src 22730c4sys/dev/sound/pcm dsp.c mixer.h

sound: Remove unused "from" mixer_ioctl_cmd() argument

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+3-6sys/dev/sound/pcm/dsp.c
+1-4sys/dev/sound/pcm/mixer.h
+2-2sys/dev/sound/pcm/mixer.c
+6-123 files

FreeBSD/src e87654dsys/dev/sound/usb uaudio_pcm.c

snd_uaudio: Stop using mixer_get_lock()

There is no reason to lock snd_mixer->lock here, since the only thing we
are doing with snd_mixer is to call mix_getdevinfo() and mix_get_dev(),
which are one-line getters, which are needed to eventually call
uaudio_get_child_index_by_dev().

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+2-23sys/dev/sound/usb/uaudio_pcm.c
+2-231 files

FreeBSD/src 9a00e0bsys/dev/sound/usb uaudio.c

snd_uaudio: Do not use snd_mixer->lock as mixer_lock

In similar fashion to c234740c9d34 ("snd_uaudio: Do not use
pcm_channel->lock to protect uaudio_chan"), stop this layering
violation, and introduce a snd_uaudio(4)-internal mixer_lock.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+11-20sys/dev/sound/usb/uaudio.c
+11-201 files

FreeBSD/src f61e65esys/dev/sound/pcm mixer.c

sound: Retire mixer_ioctl_channel()

This function never succeeds when it is not called from the same process
that has opened the file descriptor (e.g., mixer(8)). The reason is that
the CHN_FOREACH() loop tries to match the pid of each channel with the
pid of the process performing the ioctl, which will not be the same,
unless it's the same process that both opened the channel and performed
the ioctl.

In the case that the same process opens the channels and performs the
ioctl, however, we still do not need to worry, because mixer_ioctl_cmd()
essentially does the same thing anyway. Additionally, this scenario
should be quite rare, given that most applications do not open both
/dev/dsp* and /dev/mixer*, and in fact, it is actively encouraged by the
official OSSv4 specification not to do that.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+1-116sys/dev/sound/pcm/mixer.c
+1-1161 files

FreeBSD/src e8ea976sys/dev/sound/pcm mixer.c

sound: Retire M_MIXER

Even though harmless, it is not really useful, as there is essentially
only one allocation with M_MIXER.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/18
DeltaFile
+4-6sys/dev/sound/pcm/mixer.c
+4-61 files

LLVM/project a3acd80mlir/include/mlir/Dialect/XeGPU/Transforms XeGPULayoutImpl.h, mlir/lib/Dialect/XeGPU/Transforms XeGPUPropagateLayout.cpp XeGPULayoutImpl.cpp

[MLIR][XeGPU] Propagate layout onto loop-carried iter_arg entry edges (#198862)

as per title
DeltaFile
+14-0mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
+9-4mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+8-4mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+2-2mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
+2-2mlir/test/Dialect/XeGPU/propagate-layout.mlir
+35-125 files

LLVM/project c3fc506llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp

[AMDGPU] Remove explicit PartialThreshold setting in loop unrolling (#198901)

Remove UP.PartialThreshold = UP.Threshold / 4 from AMDGPU TTI, restoring
the default PartialThreshold of 150.

This was introduced in #194924 to limit code-size growth from runtime
unrolling, but PartialThreshold also gates compile-time partial
unrolling of constant-trip-count loops. This change will make the
PartialThreshold back to the default value for both compile-time partial
unrolling and runtime partial unrolling.

Benchmarked across CK, llama.cpp, and xpu-perf — no performance impact
from restoring the default.

Fixes #196372, replaces #196818.

Assisted-by: Claude Code
DeltaFile
+1-2llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+1-21 files

FreeBSD/src 8b8dbc6usr.sbin/sndctl sndctl.c sndctl.8

sndctl(8): Implement EQ controls

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+41-0usr.sbin/sndctl/sndctl.c
+3-1usr.sbin/sndctl/sndctl.8
+44-12 files

FreeBSD/src 98a62ccshare/man/man4 pcm.4

pcm.4: Document dev.pcm.%d.eq*

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+11-0share/man/man4/pcm.4
+11-01 files

FreeBSD/src 3a3cb16sys/dev/sound/pcm feeder_eq.c

sound: Retire hint.pcm.%d.eq_preamp

It wasn't documented in the first place, but it is easier to just use
the sysctl.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+1-7sys/dev/sound/pcm/feeder_eq.c
+1-71 files

FreeBSD/src 6f130b2sys/dev/sound/pcm feeder_eq.c

sound: Remove dead EQ FEEDEQ_DISABLE code

If EQ is disabled, we never reach those code paths in the first place.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+0-16sys/dev/sound/pcm/feeder_eq.c
+0-161 files

FreeBSD/src dfa52e8sys/dev/sound/pcm feeder_eq.c

sound: Update feeder_eq.c LICENSE header

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+1-1sys/dev/sound/pcm/feeder_eq.c
+1-11 files

FreeBSD/src f5d6e5csys/dev/sound/pcm channel.c feeder_eq.c

sound: Retire FEEDEQ_DISABLE

We can do this more efficiently by just using the SD_F_EQ* flags. In
fact, the dev.pcm.%d.eq handler will (un)set SD_F_EQ_ENABLED and this is
what we actually test with when choosing to creating the EQ feeder or
not, so setting the state to FEEDEQ_DISABLE does not really an effect in
the first place.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+4-8sys/dev/sound/pcm/channel.c
+2-3sys/dev/sound/pcm/feeder_eq.c
+0-1sys/dev/sound/pcm/feeder.h
+6-123 files

FreeBSD/src a0011c7share/man/man4 pcm.4, sys/dev/sound/pcm mixer.c sound.h

sound: Expose EQ by default

The dev.pcm.%d.eq* sysctls and mixer "bass" and "treble" controls are
exposed only if hint.pcm.%d.eq is set. However, there is no good reason
why we shouldn't at least expose the controls, and let the user
enable/disable/bypass equalization through the sysctl.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+3-14sys/dev/sound/pcm/mixer.c
+0-9share/man/man4/pcm.4
+2-6sys/dev/sound/pcm/sound.h
+1-2sys/dev/sound/pcm/sound.c
+1-1sys/dev/sound/pcm/feeder_chain.c
+7-325 files

FreeBSD/src 88bc1d7sys/dev/sound/pcm feeder_eq.c channel.c

sound: Retire EQ states

The SD_F_EQ_ENABLED does the same thing, and is actually what we test
against in order to create the EQ feeder.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+2-23sys/dev/sound/pcm/feeder_eq.c
+0-3sys/dev/sound/pcm/channel.c
+0-3sys/dev/sound/pcm/feeder.h
+2-293 files

FreeBSD/src 54a03b4sys/dev/sound/pcm feeder_eq.c sound.h

sound: Retire FEEDEQ_BYPASS

In effect, this is the same as the disable state. There is a comment
that says the bypass state skips EQ altogether, which is what the
disable should be. The disable state according to the comment disables
EQ but keeps the EQ preamp (dev.pcm.%d.eq_preamp), however after testing
it seems that the preamp does not really take effect, because with EQ
disabled, feeder_eq is non existent, so we never execute any EQ code in
the first place.

Make things simpler and clearer and have 2 states; enable and disable,
and do what they should do intuitively.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Pull Request:   https://ron-dev.freebsd.org/FreeBSD/src/pulls/15
DeltaFile
+7-19sys/dev/sound/pcm/feeder_eq.c
+2-2sys/dev/sound/pcm/sound.h
+1-3sys/dev/sound/pcm/channel.c
+0-1sys/dev/sound/pcm/feeder.h
+10-254 files

LLVM/project 22ced91flang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP target-inreduction.f90 target-inreduction-unused.f90

[flang][OpenMP] Lower target in_reduction for host fallback

Teach Flang lowering and MLIR OpenMP translation to carry
in_reduction through omp.target for the host-fallback path.

The translation looks up task reduction-private storage with
__kmpc_task_reduction_get_th_data and binds the target region's
in_reduction block argument to that private pointer, so uses inside the
region do not keep referring to the original variable.

The patch also preserves in_reduction operands in the TargetOp builder
path and ensures target in_reduction list items are mapped into the
target region when needed.

The device/offload-entry path remains diagnosed as not yet implemented.
DeltaFile
+90-1mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+83-3mlir/test/Target/LLVMIR/openmp-todo.mlir
+59-4flang/lib/Lower/OpenMP/OpenMP.cpp
+50-0mlir/test/Target/LLVMIR/openmp-target-in-reduction.mlir
+28-0flang/test/Lower/OpenMP/target-inreduction.f90
+27-0flang/test/Lower/OpenMP/target-inreduction-unused.f90
+337-82 files not shown
+342-288 files

FreeBSD/src 7bb6b62sys/arm64/arm64 mte.c pmap.c, sys/arm64/include cpu.h

arm64: mte: copy/save tags on copy-on-write

On a copy-on-write, copy the memory tags from the source pages to the
destination pages so the forked process can continue to use MTE.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Signed-off-by:  Harry Moulton <harry.moulton at arm.com>
Differential Revision:  https://reviews.freebsd.org/D55955
DeltaFile
+41-0sys/arm64/arm64/mte.c
+13-0sys/arm64/arm64/pmap.c
+1-0sys/arm64/include/cpu.h
+55-03 files

FreeBSD/src bb9497asys/arm64/arm64 mte.c pmap.c, sys/arm64/include pmap.h cpu.h

arm64: Add vm_page_t MTE flags

To track which pages have MTE tags. Add a flag field to md_page. We
can then use this in MD code to mark which pages have MTE tags.

Reviewed by:    andrew
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55954
DeltaFile
+38-0sys/arm64/arm64/mte.c
+3-0sys/arm64/include/pmap.h
+2-0sys/arm64/include/cpu.h
+1-0sys/arm64/arm64/pmap.c
+44-04 files

FreeBSD/src 5cb511esys/arm64/arm64 exception.S genassym.c, sys/arm64/include proc.h

arm64: Check for MTE tag failures on kernel entry

When entering the kernel from userspace we need to check for MTE tag
failures when using asynchronous MTE. This is done by checking if either
tag fault check types that have asynchronous checks are enabled, and
if so check the register the result is stored. It then sets a flag the
kernel can later use to raise a signal.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55952
DeltaFile
+34-2sys/arm64/arm64/exception.S
+3-1sys/arm64/include/proc.h
+3-0sys/arm64/arm64/genassym.c
+40-33 files

FreeBSD/src 5a6ae42sys/arm64/arm64 mte.c swtch.S, sys/arm64/include cpu.h proc.h

arm64: Manage the MTE state like pointer auth

Add the same group of functions we use to manage pointer authentication
in userspace threads.

Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D55951
DeltaFile
+112-0sys/arm64/arm64/mte.c
+7-0sys/arm64/include/cpu.h
+4-2sys/arm64/arm64/swtch.S
+3-0sys/arm64/arm64/vm_machdep.c
+1-1sys/arm64/include/proc.h
+1-0sys/arm64/arm64/exec_machdep.c
+128-32 files not shown
+130-38 files