[CIR][Aarch64] upstream scalar & vector intrinsics (FP16) (#190310)
This PR upstreams the following fp16 intrinsics as part of #185382:
- vaddh_f16,
- vsubh_f16,
- vmulh_f16,
- vdivh_f16
This is my first PR to LLVM, so any feedback is greatly appreciated!
sdl12-compat: updated to 1.2.76
1.2.76
This is a stable bugfix release, with the following changes:
Fixed Sacred Gold crash during initial loading screen, requires SDL 3.4.4
Fixed perl language binding test failures
[lldb] Handle simulator printout in TestSimulatorPlatform (#189571)
This test invokes a binary in a simulator and then reads the first line
of stderr to parse the PID of the invoked binary.
This approach fails when the simulator itself prints a warning/error on
startup. In this case, we try to parse the error as the PID and fail.
This patch just removes the line limit. It doesn't seem to add any value
as we anyway need to search until we find the PID line, and if there is
no PID line we cannot do anything but time out eventually.
See also rdar://169799464
rust: Avoid bootstrap sanity checks on SunOS.
This is untested due to gnulib fallout, but should fix issue where the illumos
bootstrap kit conflicts with the checks for m68k-netbsd, and avoids a patch.
[GlobalISel] Prevent hoisting of CheckIsSameOperand from creating invalid match tables (#190963)
Fixes #188513
This patch adds logic to ask PredicateMatchers whether they'd like to be
hoisted out of a specific Matcher or not.
SameOperandMatcher can use it to check if it's being hoisted out of the
RuleMatcher that defines the operand it relies on.
Assisted-By: Claude Opus 4.6
Context of Use: Claude was only used to add LLVM-style RTTI to the
matcher class (repetitive work). I then reviewed and cleaned up the code
it generated.
[SeparateConstOffsetFromGEP] Fix incorrect inbounds flag in case of non-negative index but negative offset (#190192)
Fixes #190187
Currently, SeparateConstOffsetFromGEP preserves inbounds attribute if
new sequence of GEPs from the same base pointer has non-negative offsets
in each GEP (this was mentioned in
https://github.com/llvm/llvm-project/pull/159515). This statement seems
correct for me (if the sequence consists from 2 GEPs), but current
implementation has a flaw: it checks that constant byte offset and GEP
indices are non-negative. However, in some corner cases we can have a
situation when the index is non-negative, but its offset (in bytes) is
negative, so we can't preserve inbounds attribute. In the example, GEP
index after transformation can have values
`0x7ffffffffffffffd`/`0x7ffffffffffffffe`/`0x7fffffffffffffff`; they are
all non-negative (sign bit is zero), however, after multiplication on
sizeof(i64) they become negative and inbounds can't be preserved
anymore.
The proposed fix is to check that Idx * ElementStride is non-negative
(instead of checking Idx only).
buf: updated to 1.67.0
1.67.0
Fix LSP not skipping buf.build/docs links for lint rules from check plugins and policies.
Fix buf dep graph --format json silently dropping dependencies when a dependency was already seen.
Add support for --rbs_out as a protoc_builtin plugin (requires protoc v34.0+).
Add relevant links from CEL LSP hover documentation to either <celbyexample.com> or <protovalidate.com>
Add OpenBSD and FreeBSD release binaries for amd64 and arm64.
Skip writing unchanged output files in buf generate to preserve modification times
Update buf beta registry plugin delete to prompt the user for deletion, matching the UX of the other deletion commands. Use --force to restore the old behavior.