[LV] Remove some unneeded logs (#194946)
Sometimes we get interleave-related logs just because we initialize
`LoopVectorizeHints` instance which emits logs.
Change the initialization a little to prevent the logs.
[Clang][AArch64] Fix wrong SIMD register counting for MFloat8 (#195134)
The `__mfp8` type is passed in SIMD registers, but the ABI handling code
did not account for it, which caused wrong register counting and thus
wrong argument passing codegen for some cases, e.g. for Pure Scalable
Types, which depend on precise counting.
[AArch64][llvm] Generate asm parser extension map from TableGen (NFC)
Modify ARMTargetDefEmitter to emit the assembly parser `ExtensionMap[]`
and replace the hand-written table in AArch64AsmParser.cpp with the
generated one.
Keep the assembly parser-only quirks in the emitter: the directive
denylist, the legacy primary spellings for `mte` and `compnum`, and the
extra bits needed for the `sve2-*` shorthand extensions.
This removes the duplicate manual table while preserving existing
directive parsing and required-feature diagnostics.
clang: Fix broken --offload-arch arguments in tests
These need to use 2 dashes. A single dash is interpreted as -o. Fix
this in all tests using the single dash, except one which appears
to be testing the behavior of warning on the misspelled argument.
Revert "build: provide a FORTIFY_SOURCE.<src file> override"
This reverts commit c46a0b590716144d772eeba83ca88d96ee12c2f1. It broke
the build and I'm not awake yet.
[orc-rt] Add MemoryAccess SPS controller interface. (#195252)
Adds SPS wrappers for reading and writing primitive types (uint8 through
uint64), pointers, byte buffers, and C strings in executor memory. This
CI is designed to support the LLVM EPCGenericMemoryAccess class, though
the plumbing to connect the two remains to be done.
Includes unit tests for all read and write operations.
[lldb] Override UpdateBreakpointSites in ProcessGDBRemote to use MultiBreakpoint
This concludes the implementation of MultiBreakpoint by actually using
the new packet to batch breakpoint requests.
https://github.com/llvm/llvm-project/pull/192910
[ARM] Fold Or of CSINC into CSINC (#190765)
This folds (or x, (csinc 0, 0, cc)) -> (csinc x, 0, cc), helping to
reduce the number of instructions needed and help with node order
changes.
This helps fix some regressions with combiner-topological-sorting.
[lldb][NFC] Add test utility for sending gdbremote packets (#195247)
This removes some duplicated code, and also helps future tests. It's
also surprisingly not easy to write these, as there are a few footguns.
[LoopUnroll] Allow runtime unroll with remainder for uniform trip count in convergent loops (#192819)
When a loop contains convergent operations, runtime unrolling with a
remainder is currently blocked because the remainder prelude adds a
control-flow dependency. However, if the backedge-taken count is
uniform across all threads, all threads take the same path through the
prelude, making the remainder safe.
Add divergence analysis to check if the BTC SCEV is uniform, and if so,
allow AllowRemainder and UP.Runtime even for convergent loops. This
resolves the TODO at the former line 1375.
Assisted by AI
---------
Co-authored-by: Yuanke Luo <ykluo at birentech.com>
linux: Implement setfsuid(2) and setfsgid(2) as no-ops
These system calls exist to decouple the Linux filesystem credentials
from the effective credentials, avoiding signal exposure during
privilege transitions.
The signal permission model that motivated this was revised
in Linux 2.0, making these syscalls obsolete for new applications.
Implement both syscalls as no-ops that return the current effective
UID/GID as the previous filesystem UID/GID.
Linux returns the previous filesystem UID/GID for these syscalls
with no error indication.
Same for the equivalent setfsuid16() & setfsgid16() system calls.
Signed-off-by: Ricardo Branco <rbranco at suse.de>
PR: 294879
Reviewed by: kib, pouria
Pull-Request: https://github.com/freebsd/freebsd-src/pull/2175
[DAG] expandVecReduce - ensure widening to a wider vector type (#195251)
Add missing check in #194672 that the getTypeToTransformTo is actually WIDER than the half type
Test coverage will follow shortly in an upcoming x86 patch
net/tcpstats-{kmod,reader}: Add new ports
tcpstats-kmod is a FreeBSD kernel module that exports per-connection
TCP socket statistics via a /dev/tcpstats character device.
Provides 320-byte fixed-size records containing addresses, ports,
TCP state, congestion control parameters, RTT measurements,
retransmit counts, and ECN state.
Includes a tcpstats(4) man page.
tcpstats-reader is a companion CLI tool that reads from /dev/tcpstats
and outputs JSON Lines to stdout.
Includes a tcpstats-reader(1) man page.
WWW: https://github.com/randomizedcoder/bsd-xtcp
Signed-off-by: randomizedcoder <dave.seddon.ca at gmail.com>
Approved by: fuz (ports)
Reviewed by: fuz, pouria
Pull-Request: https://github.com/freebsd/freebsd-ports/pull/497
[X86] avx512-intrinsics-fast-isel.ll - update mm512_reduce tests to match current clang codegen (#195250)
clang now emits the vector.reduce intrinsics - match this so once we drop ExpandReductions the backend is still working with the correct IR
rpki-client: add compat for BIT STRING accessors
ASN.1 bit strings are DER encoded by zero-padding the bit string at the end
to a length divisible by eight. The number of padding bits ("unused bits"),
a number between 0 and 7, is stored in the first value octet, the remainder
of the value octets are formed by the zero-padded bit string.
Since asn1_string_st is opaque in OpenSSL 4, there need to be accessors for
length and unused bits, which is what is added here. The getter assumes the
ASN1_STRING_FLAG_BITS_LEFT flag is set on a bit string, which is always the
case for deserialized bit strings. I prefer not to elaborate on the madness
hiding here at this point in time...
LibreSSL will likely add these accessors to libcrypto in the ongoing cycle,
but we will need this compat code for OpenSSL and older LibreSSL anyway.
The code is not yet used in rpki-client. The conversions will be committed
soon.
ok claudio job