[SCEVDivision] Remove unnecessary integer casts (NFCI) (#208155)
Since #204146 requires callers of SCEVDivision to pass the numerator and
the denominator with the same type, the bitwidth check in
`visitConstant` no longer makes sense.
AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (18) (#209121)
Mechanically migrate the command-line target spelling on llc/opt RUN
lines in llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to
the folded subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping
the redundant -mcpu.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
linuxkpi: Add `acpi_video_get_edid()`
Like the rest of <acpi/video.h>, this function is unimplemented and
returns `-ENODEV`.
The amdgpu DRM driver started to use it in Linux 6.13.
Reviewed by: bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57576
[UnwinderV3] Include padding in spliting calculations (#208458)
As in title. This is achieved by making the pass count split points in
bytes and making the average instruction size a variable.
PR done with usage of Claude Code
[CodeGen][AMDGPU] Prepare rematerializer for multi-def remat support (NFC) (#197579)
This makes some NFCs to the rematerializer before adding initial support
for rematerializing registers with multiple defs. The main change is
that, in the representation of (un)rematerializable register
dependencies, we drop references to machine operand indices which lose
meaning in the multi-def case.
Other minor changes listed below.
- Removal of `DefRegion` argument to `Rematerializer::recreateReg`.
Registers are always re-created in their original region so there is no
need to set their region again.
- Removal of `InsertPos` unused argument to
`Rematerializer::postRematerialization`.
- Refactor of how AMDGPU's scheduler checks whether a given register is
rematerializable.
[AArch64] Fixup possibly unused variable warning after #207199 (#209418)
Using [[maybe_unused]] as the variable is only used in asserts which
results in a diagnostic for no-assert builds.
security/vuxml: Add devel/ocaml-opam vulnerability
While here, fix whitespaces of two previous entries after the
feedback of `make validate`.
PR: 296642
Approved by: osa, vvd (Mentors, implicit)
mlx5ib: initialize DEVX subscription state before the eventfd fdget()
In the DEVX_SUBSCRIBE_EVENT handler the eventfd path can fail and
"goto err" before the subscription's xa keys and ev_file have been set;
they are still zeroed from kzalloc(). The cleanup then looks up a
level-1 xa entry with key 0, gets NULL, and faults dereferencing it.
Initialize the fields the cleanup path relies on right after the
subscription is allocated, before it is linked and before the fallible
fdget(), so a later failure unwinds cleanly.
Reviewed by: kib
Sponsored by: Nvidia networking
MFC after: 1 month
[X86] Break false dependencies on Zen 4 and 5 (#206849) (#207079)
Some variants of Zen 5 microarchitectures have a false dependency on the
output register of tzcnt, blsr, blsi and blsmsk instructions. This PR
splits existing tuning feature for the false dependency of tzcnt/lzcnt
and adds a new tuning feature for bls*. The tzcnt and bls* tunings are
enabled by default for Zen 5.
Furthermore, at least some variants of Zen 4 and 5 microarchitectures
appear to have a false dependency on the output register of zero-masked
compress and expand instructions. Tested on Ryzen 9 9950X, Ryzen 9 7950X
and Ryzen AI 7 350, also apparent in uops.info data from Ryzen 5 7600X
and Ryzen 7 9700X (see #206849). This PR adds a new tuning feature for
the false dependency of compress/expand. The tuning is enabled for Zen 4
and Zen 5.
Fixes #206849
[MLIR][NVGPU] Add truncf and extf Ops (#199700)
This change adds the `extf` and `truncf` ops to the NVGPU dialect to
support floating-point conversion operations.
These ops support scalar and vector inputs and lower to the corresponding
NVVM ops after padding and chunking the input into `i32` registers.
[NFC][LLVM][CodeGen][SVE] Strengthen the isel definition of AArch64setcc_z. (#209170)
Making all operand types derive from the compare's LHS reduces the
number of types an isel rule must specify, which improves readability.
multimedia/filebot: update to 5.2.3
This brings multimedia/filebot up to date with the current version.
Some changes on our end:
1. Drop OpenJFX in favor of Zenity: Long since overdue, since OpenJFX is long-since abandoned. I don't know exactly when Rednoah added this, but now we have it also.
2. Move to JAVA 25: Dropping OpenJFX opens us up to a modern JVM. I'm not sure that JFX was actually holding us back before, but now we can be certain.
3. Limit to amd64: there's a prebuilt JNA lib required from the developer. If you need filebot on other archs, that is an exercise left to the reader.
4. Drop pkg-message: The advice in the pkg-message is outdated.
PR: 296768
[SCEVDivision] Add assertion to check operand types match (NFCI) (#204146)
In ScalarEvolutionDivision.h, the `SCEVDivision::divide` operation is
defined as follows:
```
/// Computes the Quotient and Remainder of the division of Numerator by
/// Denominator. We are not actually performing the division here. Instead, we
/// are trying to find SCEV expressions Quotient and Remainder that satisfy:
///
/// Numerator = Denominator * Quotient + Remainder
```
Therefore, I believe it makes sense to enforce that the types of
`Numerator` and `Denominator` are the same.
This patch adds an assertion to verify that restriction.
[SystemZ] Support pseudo fmin/fmax (#209178)
s390x supports the pseudo fmin/fmax operations (x < y ? x : y and x > y
? x : y) as mode 2 in vfmin/vfmax. As such, we should lower
PSEUDO_FMIN/FMAX to those. Also disable formation of minnum/maxnum in
SDAGBuilder, as it's not useful if we have native support for this
operation.
[ORC] Add LLLazyJIT destructor with call to endSession. (#209399)
Add an LLLazyJIT destructor with a call to ExecutionSession::endSession.
This ensures that the ExecutionSession's TaskDispatcher is shut down
(and in-flight tasks completed) before LLLazyJIT class members are
destroyed. Failure to do this could lead to use-after-free errors when
using thread-based task dispatch. This was likely the cause of flakiness
in test/ExecutionEngine/OrcLazy/multiple-compile-threads-basic.ll.
rdar://181982834