lang/c3c: Update to 0.8.5_1
Upstream's 0.8.5_1 is a hotfix release over 0.8.5 addressing a WASM
regression. Since FreeBSD reads a trailing _1 as PORTREVISION, the
suffix is carried in DISTVERSIONSUFFIX so DISTNAME matches the real
tag, leaving PKGNAME at c3c-0.8.5.
databases/datui: Link against system SQLite and lzma
Upstream asks rusqlite for the `bundled` feature and xz2 for `static`,
which compile SQLite and liblzma into the binary so that a release
build needs no system library. Drop both and link against
databases/sqlite3 and the liblzma in base instead.
lz4 stays bundled: lz4-sys has no pkg-config path and no override, so
it always builds its own copy.
databases/datui: Update to 0.4.3
Bump mio to 1.2.4 via patch-Cargo.lock. libc 0.2.190 removed
NOTE_PCTRLMASK from its FreeBSD module, which breaks mio 1.2.3:
error[E0425]: cannot find value `NOTE_PCTRLMASK` in crate `libc`
mio 1.2.4 no longer references it.
Upstream dropped build.rs, so the man page is no longer generated
into ${CARGO_TARGET_DIR}/release. Install the pre-generated pages
shipped in crates/datui-cli/man instead, which now cover sections
1, 5 and 7.
Drop the libfontconfig and libfreetype dependencies: freetype-sys
and yeslogic-fontconfig-sys are gone from the dependency graph,
replaced by the pure-Rust fontconfig-parser.
devel/gwm: Fix LICENSE after upstream dual-license switch
Upstream relicensed at 1.10.0: LICENSE.md is gone, replaced by
LICENSE-MIT and LICENSE-APACHE, and Cargo.toml now declares
"MIT OR Apache-2.0". The stale LICENSE_FILE went unnoticed in the
1.10.0 update because licenses were disabled in the build at the
time; with them enabled again the patch phase fails with "Missing
license file for MIT".
No PORTREVISION bump: the pending _1 -> _2 revision has never
produced a package, so the added license files ride along with it.
[SLP][modularisation][NFC] Move loop trip-count helpers to SLPUtils
Move the BoUpSLP-independent helpers findInnermostNonInvariantLoop and
getLoopTripCount out of SLPVectorizer.cpp into the self-contained
SLPVectorizer/SLPUtils.{h,cpp} module. getLoopTripCount reads the file-local
LoopAwareTripCount cl::opt, which stays static in SLPVectorizer.cpp and is
passed to the moved helper as an explicit parameter. NFC.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
sysutils/libcpuid: update the port to version 0.8.2
Install manual pages by default for the benefit of package
users; ports users can always disable Doxygen via options.
[CodeGen][Objective-C] Add WebAssembly `@finally` support (#218967)
This PR adds `@finally` support for WebAssembly codegen.
We reuse the existing `CodeGenFunction::FinallyInfo` infrastructure,
which essentially creates a catch-all handler around the try/catch. This
needs a slight adaptation for fit WebAssembly's exception model, where
the catch handlers are merged into a single catchpad.
Additionally, we now emit the rethrow function using the
`EmitNoreturnRuntimeCallOrInvoke` which avoids creating an unnecessary
continuation block here.
Co-authored-by: Hendrik Huebner <hhuebner at Hendriks-MacBook-Pro.local>
RegisterPressure: Detect dead physreg defs from LiveIntervals with lane masks
Extend the fix from #225079 to the lane mask tracking path used by
targets with subregister liveness. adjustLaneLiveness also needs to
force the physreg unit ranges to be computed to identify dead defs,
rather than taking the conservative default when they are not cached.
Without this, an overlapping physreg def missing a dead flag is
counted as a live def. Conservatively assuming it is live doesn't work
because PressureDiff disagrees with the tracker and fails the
EXPENSIVE_CHECKS consistency assert.
This avoids an ll asm test failing when LiveVariables removed; #233202
fixes the missing dead flag for that case. I had additional patches
which nearly eliminate all missing dead flags. Unless the verifier
enforces accurate dead flags, we still need to handle this edge case.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
AMDGPU: Mark unread physreg defs dead in a scheduler test
These registers defined by IMPLICIT_DEF but never read. Without the
dead flags, the pressure tracker assumes the uncached physreg units
are live out of the region. Ideally physreg dead flags would be
accurate, though this is currently not a verifier enforced rule. This
avoids some test churn in a future pressure tracking commit.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
am335x, am18xx: make the sdmmc drivers get along with each other
The am18xx and the am335x share a DMA controller used by the sdmmc controller. However, the am335x starts a transfer, then the DMA while the am18xx starts the DMA, then the transfer.
Currently, the DMA driver resets DMA events when starting a transfer, which breaks the am335x because it start the DMA after the transfer, so events can already accumulate. This commit rolls back the change that resets DMA events when starting a transfer.
However, this is now an issue on the am18xx, where due to a hardware quirk, it is possible for DMA events to accumulate on transfers that don't use the DMA. The fix is to always reset the DMA events on transfers with and without DMA.
[ExpandIRInsts] Don't take the half fast path for saturating fptoi (#232172)
Saturating conversions previously took the half fast path and now skip
it to use the full expansion.
Fixes #231384
Assisted-by: Claude Opus 5.5
libc/gen/Makefile.inc Avoid building while cleaning
Don't try and build the user version info for sysctl while
cleaning, the needed tools probably don't exist yet.
[SLP][modularisation][NFC] Move getReductionInstr to SLPReductionUtils, getAggregateSize to SLPUtils (#222613)
Move the BoUpSLP-independent helpers getReductionInstr and
getAggregateSize
out of SLPVectorizer.cpp into the self-contained
SLPVectorizer/SLPReductionUtils.{h,cpp} module.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
AVR: Run AtomicExpand
Atomics wider than 16 bits were lowered to __sync_* calls. No AVR
runtime provides __sync_* or __atomic_*, but __sync_* requires a
lock-free implementation, which AVR cannot provide at those sizes.
Use the __atomic_* calls instead.
Alternatively it may be appropriate to change getDefaultThreadModel to
singlethread for avr so all atomics are lowered into non-atomic
sequences.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
www/forgejo: import at version 16.0.6
forgejo is a forge software package for hosting software development
version control using Git as well as other collaborative features
like bug tracking, code review, continuous integration, kanban
boards, tickets, and wikis.
Tested on NetBSD/amd64.