[compiler-rt][ARM] Fix underflow handling in new divdf3.S (#204784)
The code which calculates the 'errsign' parameter to pass to
`__compiler_rt_dunder` was wrong in two ways. It calculated the value
with the wrong sign, and also in the wrong register, r12 rather than r2!
In this code's original context, both of those things made sense (the
'dunder' function had a nonstandard ABI). Somehow none of the existing
test cases detected the problem.
We found this bug in a test case downstream that only failed big-endian
(because that changes which half of the denominator mantissa is left in
r2 to be accidentally used as errsign). However, the new test cases here
are designed to detect the failure in both endiannesses.
[libc] Refactor qsort code (#198781)
This patch makes the following changes:
- Refactor the internal sorting functions to reduce code duplication.
- Move the testing machinery done for the testing of `qsort_r` to a
shared place.
These changes are done in anticipation to the introduction of Annex K's
`qsort_s`. This function shares most of its semantics with `qsort_r`,
therefore most of the testing logic can be shared between the two.
Besides, `qsort`, `qsort_r` and `qsort_s` are all very similar, hence we
can attempt to reduce duplication a bit more.
[ObjectYAML][NFC] Derive BBAddrMap section size from the CBA offset (#204056)
Add the CBA offset delta to sh_size once at the end instead of after
each write.
devel/boost-libs: fix build on powerpc64le/CURRENT
After powerpc64le's switch to 128-bit long double, this port fails
to build. The reason is that boost expects 128-bit long double to be
the same type as __float128. Clang doesn't enable __float128 by default.
It does so after passing -mfloat128, but even then treats long double
and __float128 as distinct types.
Upstream issue opened at https://github.com/boostorg/charconv/issues/299
[AArch64] Run cleanup one final time after peephole (#199711)
It's a lightweight pass. Should always be the last SSA pass since
peephole can end up making some instructions dead.
riscv: Vector Extension (RVV) support.
RVV is a scalable SIMD (Single Instruction, Multiple Data) extension
designed to accelerate data-intensive workload such as AI, machine-learning
and DSP.
RVV exposes vector-length agnostic (VLA) execution and programming model,
with implementation defined vector register file size, dynamic vector
length selection, flexible register grouping, and rich instruction
semantics, serving as the foundation for portable, high-throughput
data-parallel acceleration.
Spec: https://github.com/riscvarchive/riscv-v-spec
RVV extends a base scalar RISC-V ISA with 32 vector registers and seven
unprivileged control-status registers (CSRs) to control the engine. Each
vector register could be up to 2^16 bits in length, depending on
implementation.
[12 lines not shown]
[LoopFusion][NFC] Share fusion tail between guarded and unguarded paths (#205492)
`performFusion()` and `fuseGuardedLoops()` carried two
character-for-character identical tails: header-PHI migration plus latch
rewiring, and the SCEV-forget / block-merge / latch-merge finalization.
Extract them into `rewireFusedHeaderPHIsAndLatches()` and
`finalizeFusedLoop()` and call both from each path.
textproc/rumdl: update to 0.2.22
v0.2.22
Added
md077: add opt-in style = "aligned" for continuation indent (14eebe1)
Fixed
md040: keep blockquote fences valid when adding default language (eab51f6)
md013: keep blockquote markers when reflowing a blockquote nested in a list item (f601c8c)
v0.2.21
Fixed
emphasis: align MD049 and MD037 with CommonMark flanking (#681) (d1b9968)
ci: bump pinned Rust toolchain to 1.96.0 to unblock mise tool install (b2afd76)
net/xfr: update to 0.9.20
v0.9.20
What's Changed
Bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #103
Bump docker/login-action from 3 to 4 by @dependabot[bot] in #104
Bump docker/setup-qemu-action from 3 to 4 by @dependabot[bot] in #105
Bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #106
Bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #107
v0.9.19
What's Changed
Add safe TUI restart controls by @lance0 in #108
devel/sem: update to 0.14.1
Fixes the Intel macOS cross-build (vendored-openssl) so the release actually
ships binaries for every platform. 0.14.0's build failed on openssl-sys when
cross-compiling x86_64 on Apple Silicon; 0.14.1 is the first release to publish
Intel macOS binaries (#374).
Convert cloud_backup plugin to the typesafe pattern
This commit adds changes to convert the cloud_backup plugin to the typesafe service/part pattern, so query and get_instance return Pydantic models, public methods use @api_method(check_annotations=True), and same-process calls go through call2/call_sync2.
The shared CloudTaskServiceMixin is left untyped since cloud_sync still depends on it, with a single sibling-safe edit to its zvol validation path. All in-process consumers were updated for model access: the cloud_sync credential delete check, the cron.d mako, and the path-resolution migration. Since the password is a Secret field, the create/update and restic paths dump with expose_secrets so an unchanged password isn't written back as the redaction string.
Pull up the following revisions, requested by martin in ticket #319:
x usr.sbin/sysinst/Makefile.inc 1.53
usr.sbin/sysinst/arch/amd64/Makefile 1.3
usr.sbin/sysinst/arch/i386/Makefile 1.3
usr.sbin/sysinst/arch/sparc64/Makefile 1.2
usr.sbin/sysinst/gpt.c 1.33
usr.sbin/sysinst/label.c 1.52
usr.sbin/sysinst/msg.mi.de 1.56-1.58
usr.sbin/sysinst/msg.mi.en 1.57-1.59
usr.sbin/sysinst/msg.mi.es 1.47-1.49
usr.sbin/sysinst/msg.mi.fr 1.50-1.52
usr.sbin/sysinst/msg.mi.pl 1.53-1.55
usr.sbin/sysinst/partman.c 1.58
usr.sbin/sysinst/util.c 1.79,1.80
sysinst(8): PR 60331, 60224, 60133, 60333, 60334:
various installer fixes:
- deal with the machine not having any disk available
[6 lines not shown]
[DebugInfo][LLDB] Fix generic DW_OP_const handling (#204353)
This PR fixes two related DWARF constant-handling bugs that were
blocking each other.
First, LLDB's DWARF expression evaluator in
[`DWARFExpression.cpp`](https://github.com/llvm/llvm-project/blob/main/lldb/source/Expression/DWARFExpression.cpp)
handled `DW_OP_constu` and `DW_OP_consts` without going through
`to_generic`. Under DWARF, these operators push a generic value: an
address-sized integral value with unspecified signedness. That means the
result should be truncated to the target address size (via
`to_generic`).
Second, LLVM already had a producer-side issue tracked as
[#47431](https://github.com/llvm/llvm-project/issues/47431): on 32-bit
targets, LLVM could emit `DW_OP_consts` / `DW_OP_constu` for source
integer constants wider than the target generic type. If LLDB were fixed
alone, those producer-emitted constants would become truncated as DWARF
requires, exposing incorrect debug info for wide source values.
[39 lines not shown]
[llubi] Implement memory manipulation intrinsics (#204932)
Implement `memset`, `memcpy`, `memmove` intrinsics and their
corresponding inline version. Note that the `isvolatile` argument is
ignored and left for future PRs.
[Hexagon] Fix unused variable in non-assert builds (KCFI) (#205491)
Without asserts, we see failures like so:
/repo/llvm/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp:982:43: error:
unused variable 'NextI' [-Werror,-Wunused-variable]
982 | MachineBasicBlock::const_instr_iterator NextI =
std::next(MI.getIterator());
| ^~~~~
1 error generated.
Mark NextI `maybe_unused` to address the issue.
Fixes a regression introduced by f8aa5f66209d.