LLVM/project a95a946orc-rt/include/orc-rt Error.h, orc-rt/include/orc-rt-c Error.h Visibility.h

[orc-rt] Add C API for Errors, plus ORC_RT_C_ABI macro. (#178123)

This commit introduces a C interface for the ORC runtime's Error
handling system, enabling C clients and language bindings to work with
ORC errors.

The ORC_RT_C_ABI macro applies __attribute__((visibility("default")))
(on platforms that support it), ensuring C API symbols are exported when
building the ORC runtime as a shared library. In the future I expect
that this will be extended to support other platforms (e.g. dllexport on
Windows).
DeltaFile
+176-0orc-rt/unittests/ErrorCAPITest.cpp
+80-0orc-rt/include/orc-rt-c/Error.h
+30-1orc-rt/lib/executor/Error.cpp
+30-0orc-rt/include/orc-rt-c/Visibility.h
+12-0orc-rt/include/orc-rt/Error.h
+5-0orc-rt/include/orc-rt-c/CoreTypes.h
+333-12 files not shown
+335-18 files

LLVM/project ddecdccllvm/include/llvm/Analysis IR2Vec.h, llvm/lib/CodeGen MIR2Vec.cpp

[IR2Vec] Change MIR2Vec vocab printer to not print non-zero entities (#178117)

This PR relaxes MIR2Vec tests, so that `reference_*_print.txt` files
need not be updated every time the list of MIR opcodes changes
DeltaFile
+0-7,145llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt
+0-7,145llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt
+30-0llvm/unittests/Analysis/IR2VecTest.cpp
+12-2llvm/lib/CodeGen/MIR2Vec.cpp
+5-0llvm/include/llvm/Analysis/IR2Vec.h
+47-14,2925 files

LLVM/project 60250aaclang/lib/AST/ByteCode Compiler.cpp, clang/test/AST/ByteCode functions.cpp

[clang][bytecode] Fix crash in void functions returning non-void expr… (#176550)

The bytecode compiler was incorrectly emitting an 
RVOPtr
opcode for void functions if the return expression had a non-void type
(e.g. from a conditional operator). This triggered an assertion in the
interpreter because void functions lack RVO metadata.

This patch updates 
visitReturnStmt
 to check the function’s return type and use 
discard()
 for the expression in void contexts, preventing erroneous RVO pathing.

Fixes #176536
DeltaFile
+6-0clang/test/AST/ByteCode/functions.cpp
+3-0clang/lib/AST/ByteCode/Compiler.cpp
+9-02 files

LLVM/project 2a335ecorc-rt/unittests ErrorTest.cpp

[orc-rt] Add unit test for "re-throwing" errors in handleErrors. (#178112)

handleErrors supports several different handler signatures, including
handlers that take a unique_ptr<T> (where T is a descendant of
ErrorInfoBase) and return an Error: (std::unique_ptr<T>) -> Error. In
this case the handler should be able to create an Error value to wrap
the original ErrorInfoBase object without.

This functionality was not previously tested, and will be used in
upcoming commits. This commit adds the missing test coverage.
DeltaFile
+15-0orc-rt/unittests/ErrorTest.cpp
+15-01 files

OpenBSD/ports fcgZO7ddevel/doxygen Makefile, devel/doxygen-gui Makefile

   Disable interprocedural optimization

   "ports-gcc is modern enough to support -flto but our binutils and ld in base
   are not. So compiles break whenever lto is enabled on archs like sparc64."
   -- claudio

   OK tb@ claudio@
VersionDeltaFile
1.1+14-0devel/doxygen-gui/patches/patch-CMakeLists_txt
1.1+13-0devel/doxygen/patches/patch-CMakeLists_txt
1.74+1-0devel/doxygen/Makefile
1.39+1-0devel/doxygen-gui/Makefile
+29-04 files

LLVM/project 170ad23llvm/test/TableGen NotFirstMnemonic.td, llvm/utils/TableGen AsmMatcherEmitter.cpp

[TableGen][AsmMatcher] Fix optional operand mask indexing when HasMnemonicFirst is false (#176868)

### Summary
Fix optional operand mask indexing in the generated asm matcher when
HasMnemonicFirst is false.
DeltaFile
+64-0llvm/test/TableGen/NotFirstMnemonic.td
+17-11llvm/utils/TableGen/AsmMatcherEmitter.cpp
+81-112 files

FreeBSD/src 77d71f5sys/dev/cxgbe t4_netmap.c

cxgbe(4): Fix netmap rx behavior with nm_split_rss

The driver should look for active queues and one potential default-queue
in both halves of the split instead of stopping at the first valid
default-queue.

Fixes:          a9f476580eb0 cxgbe(4): fixes for netmap operation with only some queues active
MFC after:      1 week
Sponsored by:   Chelsio Communications
DeltaFile
+1-3sys/dev/cxgbe/t4_netmap.c
+1-31 files

LLVM/project f5de33dllvm/lib/CodeGen ShrinkWrap.cpp, llvm/test/CodeGen/AArch64 shrink-wrap-unreachable.ll

[ShrinkWrap] Ensure we do not crash on unreachable blocks. (#178009)

Since we started optimizating always-true branches in the AArch64
backend (like cbz wzr), shrink wrap has been exposed to some block
structures that it does not handle correctly, usually with unreachable
blocks. This prevents the call to FindIDom/findNearestCommonDominator
from failing when looking at the predecessors of a loop if one is
unreachable.

Fixes: #177866
DeltaFile
+36-0llvm/test/CodeGen/AArch64/shrink-wrap-unreachable.ll
+5-1llvm/lib/CodeGen/ShrinkWrap.cpp
+41-12 files

FreeBSD/ports caa3bd0www/webkit2-gtk Makefile

www/webkit2-gtk: note libsoup 2 support sunsetting and scheduled removal
DeltaFile
+3-1www/webkit2-gtk/Makefile
+3-11 files

LLVM/project 3aaeaceflang/lib/Lower/OpenMP ClauseProcessor.cpp Clauses.cpp, flang/test/Lower/OpenMP num-teams-dims.f90

[OpenMP][MLIR] Add num_teams clause with dims modifier support (#169883)

PR adds support of openmp 6.1 feature `num_teams` with dims modifier.
llvmIR translation for num_teams with dims modifier is marked as NYI.
DeltaFile
+34-22mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+51-0flang/test/Lower/OpenMP/num-teams-dims.f90
+38-9mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
+20-10flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+17-5flang/lib/Lower/OpenMP/Clauses.cpp
+18-1mlir/test/Dialect/OpenMP/invalid.mlir
+178-475 files not shown
+227-7011 files

LLVM/project d099a30llvm/include/llvm/Analysis IR2Vec.h, llvm/lib/CodeGen MIR2Vec.cpp

Change MIR2Vec vocab printer to not print non-zero entities
DeltaFile
+0-7,145llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt
+0-7,145llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt
+30-0llvm/unittests/Analysis/IR2VecTest.cpp
+12-2llvm/lib/CodeGen/MIR2Vec.cpp
+5-0llvm/include/llvm/Analysis/IR2Vec.h
+47-14,2925 files

LLVM/project 05e2ee9clang/lib/CodeGen/TargetBuiltins RISCV.cpp, clang/test/CodeGen/RISCV/rvb-intrinsics zbc.c zbkc.c

[RISCV] Replace riscv.clmul intrinsic with llvm.clmul (#178092)

I did not replace riscv.clmulh/clmulr since those require a multiple
instruction pattern match. I wanted to ensure that -O0 will select the
correct instructions without relying on combines.
DeltaFile
+0-15llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+8-0llvm/lib/IR/AutoUpgrade.cpp
+3-3clang/test/CodeGen/RISCV/rvb-intrinsics/zbc.c
+3-3clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
+1-1clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
+2-0llvm/test/CodeGen/RISCV/rv64zbc-zbkc-intrinsic.ll
+17-222 files not shown
+18-238 files

LLVM/project aca2c05llvm/lib/Target/RISCV RISCVInstrInfoV.td RISCVInstrFormatsV.td

[RISCV] Rename vd->rd in the MC layer for vfirst.m/vcpop.m/vmv.x.s/vfmv.f.s. (#178081)

Add a new class for instructions that write GPR/FPR. Sink
RVVConstraint=NoConstraint into this class.
DeltaFile
+15-16llvm/lib/Target/RISCV/RISCVInstrInfoV.td
+19-0llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
+34-162 files

LLVM/project a460c8ellvm/lib/Transforms/Scalar SROA.cpp

[NFCI][SROA] reduce calls to getAllocatedType() (#177437)

Replace repeated calls with getAllocationSize() and cached NewAllocaTy.
In AllocaSliceRewriter, the allocated type is already stored in the
NewAllocaTy member variable and now passed directly there. This change
replaces the remaining direct calls to `NewAI.getAllocatedType()` with
the cached NewAllocaTy to simplify and DRY the code.

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+56-65llvm/lib/Transforms/Scalar/SROA.cpp
+56-651 files

FreeBSD/src 9a5baa9sys/powerpc/aim moea64_native.c

powerpc: disable the TLBIE lock, it's not needed for POWER8

According to POWER8_UM_v1.3_16MAR2016 3.8.3 Translation Lookaside
Buffer (TLB), POWER8 supports lockless TLBIE operations.

Locally Tested:

* IBM POWER8 Revision 2.0, dual socket, 160 threads

Differential Revision:  https://reviews.freebsd.org/D54855
Approved by:    jhibbits
DeltaFile
+5-0sys/powerpc/aim/moea64_native.c
+5-01 files

FreeBSD/src 422c871sys/powerpc/powermac platform_powermac.c

powerpc: add a best-effort SMP time base sync for G5's that need it

There's no timebase freeze platform routine registered on my dual 2.3GHz
G5 PPC970FX Apple PowerMac.

For platforms without an explicit timebase freeze/unfreeze, we'll have to
make do with what we have - which for now is an explicit hand-crafted
spinlock/rendezvous method.

* For existing platforms, they'll still continue to clock freeze /
  rendezvous; albeit with some stronger atomic bits now (from jhibbits@.)
* Instead of the fallback being "no timesync", implement a
  best-effort one which does a similar rendezvous barrier between
  BSP and APs, but instead of freeze/unfreeze the first instruction
  after the CPUs all register they're ready is to set the timebase.

This has resulted in many reboots of my Powermac G5 dual-socket device
correctly starting and running in SMP mode.


    [2 lines not shown]
DeltaFile
+90-9sys/powerpc/powermac/platform_powermac.c
+90-91 files

LLVM/project 0b69197llvm/unittests/TargetParser Host.cpp

Apply suggestions from code review
DeltaFile
+1-1llvm/unittests/TargetParser/Host.cpp
+1-11 files

LLVM/project aba18cfclang/include/clang/Basic DarwinSDKInfo.h, clang/lib/Driver/ToolChains Darwin.cpp

macCatalyst: add SDKSettings.json as a dependency file if its potentially needed by the compiler (#178077)

Co-authored-by: Alex Lorenz <arphaman at gmail.com>
DeltaFile
+18-2clang/test/Frontend/dependency-gen-phony.c
+8-6clang/test/ClangScanDeps/regular_cdb.cpp
+7-5clang/test/ClangScanDeps/modules.cpp
+11-1clang/lib/Driver/ToolChains/Darwin.cpp
+9-3clang/include/clang/Basic/DarwinSDKInfo.h
+5-5clang/unittests/Basic/DarwinSDKInfoTest.cpp
+58-2211 files not shown
+95-3717 files

LLVM/project 865b2e9libc/shared/math llogb.h, libc/src/__support/math llogb.h CMakeLists.txt

[libc][math] Refactor llogb to Header Only (#175524)

Fixes #175360
DeltaFile
+27-0libc/src/__support/math/llogb.h
+23-0libc/shared/math/llogb.h
+16-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/llogb.cpp
+1-1libc/src/math/generic/CMakeLists.txt
+79-63 files not shown
+82-69 files

LLVM/project 90bece3orc-rt/docs ErrorHandling.md

[orc-rt] Add Error-handling documentation. (#177547)

DeltaFile
+367-0orc-rt/docs/ErrorHandling.md
+367-01 files

LLVM/project cbb2aa1llvm/lib/Transforms/Scalar RewriteStatepointsForGC.cpp

[NFCI] Replace getAllocatedType with tracked value type in RewriteStatepointsForGC (#177440)

The allocas in RewriteStatepointsForGC are created with
LiveValue->getType(), so we can use Def->getType() (which equals the
alloca's type) instead of querying getAllocatedType().

Changes:
- Load instructions now use Def->getType() directly
- The ToClobber vector now stores (Type*, AllocaInst*) pairs to track
the original value's type for creating null constants

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+12-10llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
+12-101 files

LLVM/project 04f3b56llvm/lib/Transforms/IPO FunctionSpecialization.cpp

[FunctionSpecialization] Remove getAllocatedType() type check (#177439)

Change getConstantStackValue() to check the type of the promoted
constant rather than the alloca's declared type. This is more correct
semantically since we're interested in the actual stored value's type,
not what the alloca was declared as.

The change also handles type punning cases more conservatively - if an
alloca is declared as i64 but stores a float, the old code would pass
the integer type check but potentially return a non-integer constant.
The new code correctly rejects such cases.

Also remove a bit of dead code, since the argument is a pointer type, it
cannot also have been a constant integer (and this code would be wrong
if it was reachable). Originally introduced as dead code in
https://reviews.llvm.org/D106426
30fbb06979077740961ebc46853e28ab1f999f9d.

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+6-5llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
+6-51 files

LLVM/project f4b77e6llvm/lib/IR Instructions.cpp, llvm/lib/Transforms/InstCombine InstCombineLoadStoreAlloca.cpp

[InstCombine] Replace getAllocatedType() with getAllocationSize() (#177435)

Replace uses of getAllocatedType() with the more semantic
getAllocationSize() method in the alloca dereferenceability check
and zero-size alloca merging logic.

This simplifies the code by:
- Eliminating manual isArrayAllocation() checks (handled by
getAllocationSize)
- Eliminating superfluous isSized() checks (the verifier rejects them
already)
- Using TypeSize::isScalable() for scalable vector handling (before
casting to uint64_t)
- Using TypeSize::isZero() for zero-size checks

Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
DeltaFile
+34-37llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+3-0llvm/lib/IR/Instructions.cpp
+37-372 files

pfSense/pfsense 37d8349src/etc/inc globals.inc

Remove outdated alternate meta ports
DeltaFile
+1-1src/etc/inc/globals.inc
+1-11 files

FreeBSD/ports 87a0c21textproc/libxml2 pkg-plist Makefile, textproc/libxml2-python Makefile

textproc/libxml2: update to 2.15.1

Changelog: https://gitlab.gnome.org/GNOME/libxml2/-/blob/2.15/NEWS

Notably, all documentation generation requires a circular dependency
on textproc/libxslt. While the API documentation, in HTML, lives
on the upstream site [0], the man pages are now pre-rendered manually.

Also includes an upstream commit addressing unsafe pointer usage
in XPath, leading to security bugs in consumers like libxslt
(CVE-2025-10911). [1]

Mark the -python child port DEPRECATED without expiration date since
upstream has not provided a firm one yet, particularly the release
schedule for the next major version 2.16.

[0] https://gnome.pages.gitlab.gnome.org/libxml2/html/index.html
[1] https://gitlab.gnome.org/GNOME/libxml2/-/commit/0e50b31902cdb1eb242eb361c123e9e033b2af87


    [5 lines not shown]
DeltaFile
+656-0textproc/libxml2/files/xmllint.1
+355-0textproc/libxml2/files/xmlcatalog.1
+4-60textproc/libxml2/pkg-plist
+20-20textproc/libxml2/Makefile
+32-0textproc/libxml2/files/xml2-config.1
+11-2textproc/libxml2-python/Makefile
+1,078-821 files not shown
+1,083-857 files

OpenBSD/ports rtXGQIllang/scala Makefile distinfo, lang/scala/pkg PLIST

   lang/scala: update to 3.8.1
VersionDeltaFile
1.16+23-7lang/scala/pkg/PLIST
1.32+1-3lang/scala/Makefile
1.18+2-2lang/scala/distinfo
+26-123 files

FreeBSD/ports fc6c145textproc/libxml2 pkg-plist Makefile, textproc/libxml2-python Makefile

textproc/libxml2: really update to 2.15.1

Changelog: https://gitlab.gnome.org/GNOME/libxml2/-/blob/2.15/NEWS

Notably, all documentation generation requires a circular dependency
on textproc/libxslt. While the API documentation, in HTML, lives
on the upstream site [0], the man pages are now pre-rendered manually.

Also includes an upstream commit addressing unsafe pointer usage
in XPath, leading to security bugs in consumers like libxslt
(CVE-2025-10911). [1]

Mark the -python child port DEPRECATED without expiration date since
upstream has not provided a firm one yet, particularly the release
schedule for the next major version 2.16.

[0] https://gnome.pages.gitlab.gnome.org/libxml2/html/index.html
[1] https://gitlab.gnome.org/GNOME/libxml2/-/commit/0e50b31902cdb1eb242eb361c123e9e033b2af87


    [3 lines not shown]
DeltaFile
+656-0textproc/libxml2/files/xmllint.1
+355-0textproc/libxml2/files/xmlcatalog.1
+4-60textproc/libxml2/pkg-plist
+20-20textproc/libxml2/Makefile
+32-0textproc/libxml2/files/xml2-config.1
+11-2textproc/libxml2-python/Makefile
+1,078-821 files not shown
+1,083-857 files

FreeBSD/ports 5137742textproc/libxml2 pkg-plist Makefile, textproc/libxml2-core Makefile pkg-plist

Revert "textproc/libxml2*: update to 2.15.1, split -core"

The design of this update was repeatedly rejected in the linked PR
with a prescribed different design. This commit is therefore
unauthorised.

This reverts commit 099bd713e09ebdd02d73fde770c50706f980404f.

With hat: desktop (textproc/libxml2), gnome (USES=gnome)
PR: 291316
DeltaFile
+0-130textproc/libxml2-core/files/patch-xpath.c
+114-3textproc/libxml2/pkg-plist
+52-40textproc/libxml2/Makefile
+0-67textproc/libxml2-core/Makefile
+0-55textproc/libxml2-core/pkg-plist
+10-29textproc/libxml2-python/Makefile
+176-3247 files not shown
+186-34813 files

OpenZFS/src a157ef6module/zfs spa.c

Make sure we can still write data to txg

The final txgs are used only to clear out any remaining deferred
frees, and we cannot write new data to them. Make sure we do not
try to do so.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Mariusz Zaborski <mariusz.zaborski at klarasystems.com>
Closes #18139
DeltaFile
+3-0module/zfs/spa.c
+3-01 files

OpenZFS/src 35b2d39module/zfs sa.c dbuf.c

Lock db_mtx around arc_release() in couple places

* Lock db_mtx around arc_release() in dbuf_release_bp()

While this function is called only in sync context, the same buffer
can be touched by dbuf_hold_impl() in open context, creating races.
All other accesses to arc_release() are already protected by db_mtx,
so just take it here too.

Signed-off-by: Alexander Motin <alexander.motin at TrueNAS.com>

* Lock db_mtx in sa_byteswap()

While SA code seems protected by sa_lock, there is a back door of
dmu_objset_userquota_get_ids(), that may hold and access the dbuf
without sa_lock, relying only on db_mtx. Taking db_mtx here should
protect both the arc_release() and the data for db_buf.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>

    [2 lines not shown]
DeltaFile
+11-4module/zfs/sa.c
+2-0module/zfs/dbuf.c
+13-42 files