LLVM/project fee444ellvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

RuntimeLibcalls: Add generic FCMP3_F* three-way compare for single-symbol ABIs

MSP430's __mspabi_cmpd/__mspabi_cmpf are one three-way compare symbol serving
every predicate, previously modeled as six suffixed impls each. Replace them
with a single generic operator FCMP3_*, and give softenSetCCOperands a 3rd
lowering option. After the boolean O*_F* and the per-predicate FCMP3_<pred>_F*
helpers, use the generic FCMP3_F* helper tested with the predicate's condition
code.

Also opt __nedf2 out of the MSP430 default set: it was the only libgcc F64
compare not already opted out, so it would otherwise provide FCMP3_UNE_F64 and
win over __mspabi_cmpd for not-equal.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+45-40llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+11-26llvm/include/llvm/IR/RuntimeLibcalls.td
+56-662 files

LLVM/project d77892cllvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/CodeGen TargetLoweringBase.cpp

RuntimeLibcalls: Split soft-float three-way compares into distinct libcall kinds

Soft-float compares come in two flavors. ARM AEABI (__aeabi_dcmpeq) and VFP
(__eqdf2vfp) return a simple 0/1 boolean and use the existing O*_F* / UO_F*
libcalls. The libgcc/compiler-rt helpers (__eqdf2, __ltdf2, ...) return a
three-way -1/0/1, which the legalizer needs to insert the appropriate compare
against.

The three-way helpers previously masqueraded as O*_F* implementations, with the
condition code recovered from a hardcoded switch. Model them instead as distinct
operations. The legalizer then reasons about how to make use of the call result
based on which flavor of operation is available, rather than special casing what
the specific implementation is.

This leaves the mspabi cases for a later cleanup, because it's 3-way usage is
slightly different from the ARM case.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+74-54llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+68-56llvm/include/llvm/IR/RuntimeLibcalls.td
+52-28llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
+0-69llvm/lib/CodeGen/TargetLoweringBase.cpp
+18-0llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
+8-6llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+220-2131 files not shown
+220-2187 files

LLVM/project 834d585llvm/test/tools/llubi ptrtoint_cast.ll, llvm/tools/llubi/lib Interpreter.cpp Context.cpp

[llubi] Fix ptrtoint's return type (#212839)

Closes https://github.com/llvm/llvm-project/issues/212788.
DeltaFile
+24-0llvm/test/tools/llubi/ptrtoint_cast.ll
+3-3llvm/tools/llubi/lib/Context.cpp
+3-2llvm/tools/llubi/lib/Interpreter.cpp
+30-53 files

LLVM/project 9064e23.github CODEOWNERS

Add some bazel libc review coverage (#209789)

This should improve timezone coverage for keeping the bazel build
working due to libc breakages, e.g. #209433 broke things and the bazel
fixer bot sent out #209689. But since it wasn't landed until just
recently, manual fixes were needed for other changes like #209449. This
wouldn't be as bad if the bazel fixer bot could handle layered
breakages.
DeltaFile
+1-0.github/CODEOWNERS
+1-01 files

Illumos/gate 273b675usr/src/lib/libvrrpadm Makefile, usr/src/lib/libvrrpadm/common/netinet vrrp.h

18249 move netinet/vrrp.h to uts/common
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Dan McDonald <danmcd at edgecast.io>
Approved by: Robert Mustacchi <rm+illumos at fingolfin.org>
DeltaFile
+0-77usr/src/lib/libvrrpadm/common/netinet/vrrp.h
+77-0usr/src/uts/common/netinet/vrrp.h
+1-3usr/src/uts/common/netinet/Makefile
+1-1usr/src/lib/libvrrpadm/Makefile
+79-814 files

FreeBSD/ports 153b7bcdevel/aws-c-sdkutils Makefile distinfo

devel/aws-c-sdkutils: Update to 0.2.8

ChangeLog: https://github.com/awslabs/aws-c-sdkutils/releases/tag/v0.2.8
DeltaFile
+3-3devel/aws-c-sdkutils/distinfo
+1-1devel/aws-c-sdkutils/Makefile
+4-42 files

FreeBSD/ports 456a4bcdevel/aws-c-common Makefile distinfo

devel/aws-c-common: Update to 0.14.4

ChangeLog: https://github.com/awslabs/aws-c-common/releases/tag/v0.14.4
DeltaFile
+3-3devel/aws-c-common/distinfo
+1-1devel/aws-c-common/Makefile
+4-42 files

FreeBSD/ports e547adbdevel/aws-crt-cpp pkg-plist Makefile

devel/aws-crt-cpp: Update to 0.43.1

ChangeLog:      https://github.com/awslabs/aws-crt-cpp/releases/tag/v0.43.1
                https://github.com/awslabs/aws-crt-cpp/releases/tag/v0.43.0
DeltaFile
+3-3devel/aws-crt-cpp/distinfo
+1-1devel/aws-crt-cpp/Makefile
+1-0devel/aws-crt-cpp/pkg-plist
+5-43 files

FreeBSD/ports 9d5ad44devel/aws-c-s3 Makefile distinfo

devel/aws-c-s3: Update to 0.13.3

ChangeLog: https://github.com/awslabs/aws-c-s3/releases/tag/v0.13.3
DeltaFile
+3-3devel/aws-c-s3/distinfo
+1-1devel/aws-c-s3/Makefile
+4-42 files

FreeBSD/ports 3990501math/py-z3-solver distinfo Makefile

math/py-z3-solver: update 4.16.0 → 5.0.0.0

PR:     297107
DeltaFile
+7-2math/py-z3-solver/Makefile
+3-3math/py-z3-solver/distinfo
+10-52 files

FreeBSD/ports dfa5362math/z3 distinfo, security/hs-cryptol Makefile

math/z3: update 4.16.0.0 → 5.0.0.0

PR:             297106
Approved by:    Gleb Popov <arrowd at FreeBSD.org> (maintainer)
DeltaFile
+3-3math/z3/distinfo
+1-1sysutils/triton/Makefile
+1-1security/py-angr/Makefile
+1-1security/py-ailment/Makefile
+1-1security/klee/Makefile
+1-1security/hs-cryptol/Makefile
+8-810 files not shown
+18-1216 files

LLVM/project 5912665llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/TargetParser AMDGPUTargetParser.cpp Triple.cpp

AMDGPU: TableGen the subarch triple name table

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+87-20llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+2-45llvm/lib/TargetParser/Triple.cpp
+23-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+17-0llvm/test/TableGen/AMDGPUTargetDefErrors.td
+4-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+133-655 files

LLVM/project b534350llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/TargetParser AMDGPUTargetParser.cpp

AMDGPU: Eliminate old macro driven processor name parsing

Previously the generated inc file had a series of macros for use
with StringSwitch; now just directly scan the generated name table.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+162-114llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+72-43llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+2-2llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+236-1593 files

LLVM/project 389bcb2llvm/utils/TableGen/Basic AMDGPUTargetDefEmitter.cpp

order
DeltaFile
+32-19llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+32-191 files

LLVM/project 6fe7eballvm/lib/TargetParser AMDGPUTargetParser.cpp

no auto
DeltaFile
+4-4llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+4-41 files

LLVM/project ab50e66llvm/lib/TargetParser AMDGPUTargetParser.cpp, llvm/utils/TableGen/Basic AMDGPUTargetDefEmitter.cpp

AMDGPU: TableGen the subarch to processor name mapping table

Replace the hand-written AMDGPUSubArchNames array (SubArch -> canonical GPU
name) with a generated table.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+23-43llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+61-5llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+84-482 files

LLVM/project a6d1164llvm/lib/Target/AMDGPU GCNProcessors.td AMDGPUTargetParser.td, llvm/lib/TargetParser AMDGPUTargetParser.cpp

AMDGPU: TableGen subarch to major subarch table

Replace the hand-written AMDGPUMajorFamilies array with a
generated lookup table. Adds a special case for the major
arches missing a concrete generic target definition (we probably
should just define those to avoid this).

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+86-20llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+19-55llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+8-0llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+6-0llvm/lib/Target/AMDGPU/GCNProcessors.td
+119-754 files

LLVM/project 14a19dcllvm/lib/TargetParser AMDGPUTargetParser.cpp, llvm/unittests/TargetParser TargetParserTest.cpp

Reject dummy target
DeltaFile
+21-0llvm/unittests/TargetParser/TargetParserTest.cpp
+7-1llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+28-12 files

LLVM/project c3d7a26clang/lib/Basic/Targets AMDGPU.h, clang/test/Driver amdgpu-mcpu.cl

Validate -mcpu generic is rejected
DeltaFile
+14-0clang/test/Misc/target-invalid-cpu-note/amdgcn.c
+7-4clang/lib/Basic/Targets/AMDGPU.h
+10-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+9-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+9-0clang/test/Driver/amdgpu-mcpu.cl
+49-45 files

FreeBSD/ports 19aa350cad/openscad-devel Makefile.git_rev distinfo

cad/openscad-devel: Update to 2026.07.26
DeltaFile
+3-3cad/openscad-devel/distinfo
+2-2cad/openscad-devel/Makefile.git_rev
+5-52 files

FreeBSD/ports 413b247cad/kicad-devel distinfo Makefile.git_rev

cad/kicad-devel: Update to 2026.07.29
DeltaFile
+28-0cad/kicad-devel/pkg-plist
+3-3cad/kicad-devel/distinfo
+3-3cad/kicad-devel/Makefile.git_rev
+34-63 files

FreeBSD/ports 2290705cad/freecad-devel pkg-plist Makefile.git_rev

cad/freecad-devel: Update to 2026.07.29
DeltaFile
+7-7cad/freecad-devel/distinfo
+5-5cad/freecad-devel/Makefile.git_rev
+2-0cad/freecad-devel/pkg-plist
+14-123 files

FreeBSD/ports 0638557deskutils/nextcloudclient Makefile distinfo

deskutils/nextcloudclient: Update to 34.0.0
DeltaFile
+3-3deskutils/nextcloudclient/distinfo
+2-1deskutils/nextcloudclient/Makefile
+5-42 files

FreeNAS/freenas 3cbec62src/middlewared/middlewared/plugins/pool_ dataset.py, tests/api2 test_pool_dataset_encryption.py

Pass the requested encryption algorithm to ZFS when creating a dataset
DeltaFile
+15-0tests/api2/test_pool_dataset_encryption.py
+1-0src/middlewared/middlewared/plugins/pool_/dataset.py
+16-02 files

FreeBSD/doc 2bd97e1website/content/en/releases/15.1R/ec2-ami-ids latest.adoc

15.1: Update "latest" AMIs

We now have 15.1-RELEASE-p2 AMIs.

Approved by:    re (implicit)
Sponsored by:   Amazon
DeltaFile
+512-512website/content/en/releases/15.1R/ec2-ami-ids/latest.adoc
+512-5121 files

FreeBSD/doc e740ec2website/content/en/releases/15.0R/ec2-ami-ids latest.adoc

15.0: Update "latest" AMIs

We now have 15.0-RELEASE-p12 AMIs.

Approved by:    re (implicit)
Sponsored by:   Amazon
DeltaFile
+512-512website/content/en/releases/15.0R/ec2-ami-ids/latest.adoc
+512-5121 files

LLVM/project 5c57064bolt/include/bolt/Core DebugData.h, bolt/lib/Core DebugData.cpp DIEBuilder.cpp

[BOLT] Stop materializing .dwo DIE vectors early in the pipeline (#207292)

Summary: preprocessDWODebugInfo() eagerly force-extracted every .dwo
compile unit's DIE tree (getNonSkeletonUnitDIE(false)) very early in
BOLT pipeline, way before DWARFRewriter kicked in. Those vectors then
sit in memory throughout the entire rewrite pipeline, directly
contributing to BOLT's RSS peak. I did a fair amount of digging and
didn't find any reason as to why we need to keep all DIEs of DWO CU
materialized at all, since DWARFRewriter won't even read this vector
(the #197359 concurrency fix did use that, but that is unnecessary). The
problem is that these DIE trees are a massive contribution to RSS when
processing large binaries where we have 10s of K of dwos, storing
complete trees for each processed dwo.

This diff changes the #197359 concurrency fix to not rely on the DIE
sibling/children structure. It parses DWP type units selectively per
compile unit (DIEBuilder::buildDWPTypeUnitsForUnit ->
collectReferencedTypeSignatures) by finding the DW_FORM_ref_sig8
references in a unit's DIEs to decide which type units belong in that

    [24 lines not shown]
DeltaFile
+21-33bolt/lib/Rewrite/DWARFRewriter.cpp
+12-33bolt/lib/Core/BinaryContext.cpp
+10-18bolt/lib/Core/DIEBuilder.cpp
+19-0bolt/lib/Core/DebugData.cpp
+15-0bolt/include/bolt/Core/DebugData.h
+77-845 files

FreeNAS/freenas d132559src/middlewared/middlewared/plugins/nfs_ utils.py fs_attachment_delegate.py

NAS-141983 / 27.0.0-BETA.1 / `mypy` for `plugins/nfs_` (#19417)
DeltaFile
+23-17src/middlewared/middlewared/plugins/nfs_/debug.py
+24-12src/middlewared/middlewared/plugins/nfs_/status.py
+9-7src/middlewared/middlewared/plugins/nfs_/validators.py
+11-4src/middlewared/middlewared/plugins/nfs_/port_attachments.py
+11-3src/middlewared/middlewared/plugins/nfs_/fs_attachment_delegate.py
+2-2src/middlewared/middlewared/plugins/nfs_/utils.py
+80-452 files not shown
+84-468 files

OpenBSD/ports CwKIHnnlang/erlang/28 distinfo Makefile

   lang/erlang/28: Update to 28.5.0.4

   Fixes
   CVE-2026-42792, CVE-2026-47078,
   CVE-2026-54890, CVE-2026-55737,
   CVE-2026-55953, CVE-2026-58227

   ok sthen@
VersionDeltaFile
1.16.2.5+9-12lang/erlang/28/Makefile
1.15.2.3+4-4lang/erlang/28/distinfo
+13-162 files

LLVM/project 606bbb1llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/Target/Hexagon HexagonSubtarget.h HexagonSubtarget.cpp

Hexagon: Stop excluding some generic compiler-rt functions from libcalls

RuntimeLibcalls should indicate any function that exists and is callable.
Historically the list of library functions was conflated with the library
functions which should be used, so the library definition was complicated
by excluding the overridden cases. My reading of the compiler-rt sources is
that the generically named functions are built alongside the __hexagon
prefixed variants. e.g., __divsi3 and __hexagon_divsi3 both exist.

It will simplify future libcall work the fewer special case target exclusions
there are, so allow the functions to be defined and apply the selection
preference for the __hexagon prefixed versions in LibcallLoweringInfo.

I do question why compiler-rt is built this way; why doesn't the hexagon
just replace the standard entrypoint names with the target implementations?

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+29-0llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
+5-4llvm/include/llvm/IR/RuntimeLibcalls.td
+3-0llvm/lib/Target/Hexagon/HexagonSubtarget.h
+37-43 files