LLVM/project d8b2a2f — flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-reduction-remapping.f90

[flang][acc] Prefer the reduction mapping when remapping region symbols (#233938)

When a variable appears on several data clauses of one compute
construct, `AccDataMap::remapDataOperandSymbols` bound the region's
symbol to the first data operation result, on the assumption that every
result for a symbol addresses the same memory.

For a reduction the results are not interchangeable. The reduction
clause carries bounds for the section while the data clause maps the
whole variable, so for

```fortran
!$acc parallel loop copy(rarr) reduction(+:rarr(3:10))
```

The variable has two mappings and only the reduction one describes the
accumulator. Binding the region to the whole-array `copy` meant accesses
inside it, including the `acc.reduction` rooted on that declare, were
expressed against the variable's mapping rather than the accumulator's.

    [11 lines not shown]
DeltaFile
+38-0flang/test/Lower/OpenACC/acc-reduction-remapping.f90
+16-3flang/lib/Lower/OpenACC.cpp
+54-32 files

LLVM/project cdfd88a — llvm/lib/Support KnownFPClass.cpp, llvm/test/Transforms/Attributor nofpclass-fadd-fsub.ll

[KnownFPClass] Fix fsub input denormal handling (#225605)

Fixes https://github.com/llvm/llvm-project/issues/225587

Refactors the output/input denormal handling for `KnownFPClass::fadd`
and `KnownFPClass::fsub`.

`fadd`/`fadd_self`/`fsub` handle the flushing of output/input denormals,
and will pass the flushed inputs to `fadd_impl` (which uses IEEE
subnormal handling).

`KnownFPClass::fma` remains unchanged (note that the `DenormalMode`
parameter was unused by `fadd_impl`).
DeltaFile
+97-25llvm/test/Transforms/Attributor/nofpclass-fadd-fsub.ll
+41-29llvm/lib/Support/KnownFPClass.cpp
+138-542 files

LLVM/project b008371 — flang/include/flang/Optimizer/Dialect/CUF CUFOps.td CUFOps.h, flang/test/Fir/CUDA cuda-device-is-active.mlir

[flang][cuda] Mark cuf.device_is_active as a read-only query (#233987)

`cuf.device_is_active` declared no memory effects, so an unused query
could never be removed even though it only reads the CUDA context state.
Give it `MemoryEffects<[MemRead]>` so canonicalization erases it when
dead, for example once the `if (cuf.device_is_active) { ... }` cleanup
it guards has been emptied.

The runtime probe it lowers to must stay free of observable effects; a
comment on `deviceContextTornDown` records that.
DeltaFile
+49-8flang/test/Fir/CUDA/cuda-device-is-active.mlir
+10-0flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
+7-1flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
+66-93 files

LLVM/project 42c4dc0 — llvm/lib/Target/BPF BPFMIPeephole.cpp BPFAsmPrinter.cpp, llvm/test/CodeGen/BPF unwind-far-pad.ll cleanup-section.ll

[BPF] Lower unwinding to unwind_goto and unwind_exit (#233649)

Replace the .bpf_cleanup table with two new instructions, so that
neither a loader nor the kernel has to dispatch landing pads.

  unwind_goto pad    BPF_JMP | BPF_JCOND, src_reg = 1
  unwind_exit        BPF_JMP | BPF_EXIT,  src_reg = 1

'call f; unwind_goto pad' goes to the pad when f left with unwind_exit
and falls through when it left with exit. No register says which one it
was: how one instruction tells the other is up to the JIT. In everything
else unwind_exit is exit.

  ret                           exit
  invoke f() unwind pad         call f; unwind_goto pad
  resume                        r0 = 0; unwind_exit
  call _Unwind_RaiseException   r0 = 0; unwind_exit
  invoke _Unwind_RaiseException goto pad


    [56 lines not shown]
DeltaFile
+340-0llvm/test/CodeGen/BPF/unwind.ll
+315-0llvm/lib/Target/BPF/BPFUnwind.cpp
+0-160llvm/test/CodeGen/BPF/cleanup-section.ll
+0-55llvm/lib/Target/BPF/BPFAsmPrinter.cpp
+36-0llvm/test/CodeGen/BPF/unwind-far-pad.ll
+7-24llvm/lib/Target/BPF/BPFMIPeephole.cpp
+698-23917 files not shown
+859-27123 files

FreeBSD/ports decc9e8 — emulators/ares Makefile

emulators/ares: Minor cosmetic port changes

- Remove DISTVERSIONPREFIX.
- Remove superfluous comment above BROKEN_i386.
- Sort OPTIONS_EXCLUDE_powerpc64* according to portclippy(1).

PR:             299444
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+2-4emulators/ares/Makefile
+2-41 files

FreeBSD/src 06abe08 — lib/libpam/modules/pam_exec pam_exec.c

pam_exec: fix the stderr close test and avoid a double close

The cleanup tested cherr[0] when closing cherr[1].  The parent also closed
chin[0]/chout[1]/cherr[1] after pdfork() without clearing them, so the out:
cleanup path closed them again.  Clear each fd after closing and test the right
one.

Reviewed by:    des, markj
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60924
DeltaFile
+10-4lib/libpam/modules/pam_exec/pam_exec.c
+10-41 files

FreeBSD/src 6f051f0 — usr.sbin/bhyve pci_emul.h pci_emul.c

bhyve: Treat BAR registration failures as non-fatal

Some guest operating systems (at least 9front) will leave device I/O
space decoding enabled while probing BAR sizes.  In this case, a
sufficiently large 32-bit BAR can overlap with the HPET MMIO region
fixed at 0xfed00000.  This results in an assertion failure in
modify_bar_registration(), even though the collision is transient, i.e.,
the guest will promptly map the BAR elsewhere.

Tolerate such overlaps.  Keep track of a BAR's registration state and
make sure that modify_bar_registration() doesn't try to unregister an
I/O space if registration failed.

This fixes a problem where a 32MB framebuffer ends up overlapping with
the HPET MMIO region, causing some guests to crash with an assertion
failure when probing BARs during boot.

PR:             290098
Reviewed by:    bnovkov

    [3 lines not shown]
DeltaFile
+31-15usr.sbin/bhyve/pci_emul.c
+2-0usr.sbin/bhyve/pci_emul.h
+33-152 files

FreeBSD/src 9ab2bf0 — usr.sbin/inetd inetd.c

inetd: use snprintf() in inetd_setproctitle()

inetd_setproctitle() formats se_service (the service name taken verbatim
from inetd.conf) and the peer address into an 80-byte buffer with
sprintf(). A long service name can overflow it. Bound both calls with
snprintf().

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D60879
DeltaFile
+2-2usr.sbin/inetd/inetd.c
+2-21 files

LLVM/project 9bc3109 — clang/test/CIR/CodeGen dtor-alias.cpp virtual-destructor-calls.cpp, mlir/test/Target/LLVMIR alias.mlir

[mlir][LLVMIR] Translate dso_local on llvm.mlir.alias

MLIR's LLVM IR translation now sets dso_local on the aliases it creates
from llvm.mlir.alias, the same way it already does for globals, functions
and ifuncs. The importer already reads the flag, so it now survives a
round trip.

Assisted-by: Cursor / claude-opus-5.5
DeltaFile
+19-0mlir/test/Target/LLVMIR/alias.mlir
+16-0mlir/test/Target/LLVMIR/Import/alias.ll
+3-3clang/test/CIR/CodeGen/attr-alias.c
+3-3clang/test/CIR/CodeGen/attr-alias-no-proto.c
+2-2clang/test/CIR/CodeGen/virtual-destructor-calls.cpp
+1-1clang/test/CIR/CodeGen/dtor-alias.cpp
+44-92 files not shown
+46-108 files

OpenZFS/src b509a67 — module/zfs zvol.c, tests/runfiles common.run

zvol: remove minors in parallel

zvol_remove_minors_impl() shuts down its zvols one at a time, and on
Linux each del_gendisk() waits for an RCU grace period, so exporting a
pool with 1,000 zvols spends about 30 s in this loop.

Move the loop body unchanged into zvol_shutdown_minor(). When there is
more than one zvol, run it for each on a taskq created for the call, as
vdev_open_children() does, with up to 32 threads, and wait for all of
them before freeing the zvols, so the removal stays one synchronous
operation as #17625 made it.

On a 12-CPU VM with Linux 6.12, exporting a pool with 1,000 zvols took
28.7-30.2 s before and 2.5-3.3 s after. FreeBSD doesn't wait for a
grace period per device, and its export times are unchanged.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <rob.norris at truenas.com>
Signed-off-by: Ameer Hamza <ameer.hamza at truenas.com>
Closes #19430
DeltaFile
+112-0tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_zvol_remove_pos.ksh
+75-30module/zfs/zvol.c
+2-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+190-314 files

FreeNAS/freenas 3cb829e — src/middlewared/middlewared/plugins/iscsi_ alua.py extents.py, src/middlewared/middlewared/utils/lio config.py

Add middleware support for LIO ALUA HA

Wire up the middleware side of LIO ALUA high-availability: load
lio_ha.ko with per-node addresses on service start, manage ALUA
state across failover events, clean up STANDBY configfs on pool
export, and add pre-flight validation that targets have static
initiator ACLs before ALUA can be enabled.

For each target, create a portal-less phantom TPG carrying the peer
node's controller group so that a single RTPG response from any
connected port lists both ALUA groups.  Write tpgt_N/rtpi explicitly
before enable so that relative target port IDs in RTPG match the
tag formula (portal.tag on Node A, portal.tag + 32000 on Node B)
rather than being auto-assigned sequentially by the kernel.

ALUA group states are driven by role and ha_state:

  MASTER  + synced        local=OPTIMIZED     remote=NONOPTIMIZED
  MASTER  + connected     local=OPTIMIZED     remote=TRANSITIONING

    [4 lines not shown]
DeltaFile
+541-135src/middlewared/middlewared/utils/lio/config.py
+214-2src/middlewared/middlewared/plugins/iscsi_/lio.py
+87-71src/middlewared/middlewared/plugins/iscsi_/fs_attachment_delegate.py
+89-58src/middlewared/middlewared/plugins/iscsi_/target_to_extent.py
+59-47src/middlewared/middlewared/plugins/iscsi_/extents.py
+62-9src/middlewared/middlewared/plugins/iscsi_/alua.py
+1,052-3228 files not shown
+1,236-37114 files

FreeNAS/freenas b6a2371 — src/middlewared/middlewared/api/v28_0_0 iscsi_global.py

Allow iSCSI mode=2
DeltaFile
+1-1src/middlewared/middlewared/api/v28_0_0/iscsi_global.py
+1-11 files

FreeNAS/freenas 2780a6c — tests/protocols __init__.py iscsi_proto.py

Add context_params to iscsi_scsi_connect()

Pass an optional context_params dict through to python-scsi's
init_device(), so a test can set pre-login iscsi.Context options such
as an explicit ISID.  context_params_supported() lets callers skip when
the installed python-scsi predates it.

Also ruff.
DeltaFile
+41-6tests/protocols/iscsi_proto.py
+8-1tests/protocols/__init__.py
+49-72 files

FreeNAS/freenas 96caae0 — src/middlewared/middlewared/plugins/iscsi_ lio.py

Update how we tell LIO that an extent has resized.
DeltaFile
+2-2src/middlewared/middlewared/plugins/iscsi_/lio.py
+2-21 files

FreeBSD/ports 5c3a500 — emulators/ares Makefile

emulators/ares: Remove librashader from BUILD_DEPENDS

Ares always needs the librashader headers to build, even if building
without shader support by disabling the LIBRASHADER option. Because of
this, devel/librashader is an unconditional build dependency.

This requires every user who wants to build the port to also build
devel/librashader, which needs Rust. This is undesired by some users who
don't need/want shader support in the emulator.

To provide a way for such users to compile the ares port without needing
a Rust toolchain, devel/librashader is removed from BUILD_DEPENDS. The
required headers are bundled with the distfile and the port extracts
them now if the LIBRASHADER option is disabled. They are then picked up
by ares' build process.

Building with LIBRASHADER enabled is unchanged: thirdparty/librashader
is excluded from extraction and the build process picks up the headers
provided by the devel/librashader port.

    [3 lines not shown]
DeltaFile
+5-4emulators/ares/Makefile
+5-41 files

LLVM/project a44f885 — llvm/lib/Target/RISCV RISCVFrameLowering.cpp, llvm/test/CodeGen/RISCV shadow-stack-frame-opts-v.ll shadow-stack-frame-opts.ll

[RISCV] Correctly restore libcall CSRs with SCS (#233338)

Fixes #233318

Before this change, we were restoring some callee-saved registers twice
when using save/restore libcalls with shadow call stack (SCS), and the
second restore was happening after the stack was deallocated using the
wrong register and offset calculation, which was causing lots of access
problems.

The problems were:
- We were using the entire list of Callee Saves rather than just the
  subset that would have been restored by the libcall. This caused
  duplicate restores because of how the CSI subsetting works.
- We were not using the correct offset calculation in
  eliminateFrameIndex, which was causing us to calculate the wrong
  address for the saves/restores.

Assisted-by: AI
Co-authored-by: Mitch Briles <mitchbriles at gmail.com>
DeltaFile
+986-20llvm/test/CodeGen/RISCV/shadow-stack-frame-opts.ll
+136-0llvm/test/CodeGen/RISCV/shadow-stack-frame-opts-v.ll
+16-3llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
+1,138-233 files

LLVM/project 0e536c9 — llvm/lib/Support SourceMgrDiagnosticVerifier.cpp, llvm/unittests/Support SourceMgrDiagnosticVerifierTest.cpp

[nspr] initial commit
DeltaFile
+11-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+2-2llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+13-22 files

LLVM/project daabda7 — llvm/lib/Support SourceMgrDiagnosticVerifier.cpp, llvm/unittests/Support SourceMgrDiagnosticVerifierTest.cpp

[nspr] initial commit
DeltaFile
+33-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+15-6llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+48-62 files

LLVM/project a9456d1 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+12-6llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+17-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+12-0llvm/test/tools/llvm-mc/verify/basic.s
+2-2llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+43-84 files

LLVM/project e974064 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+13-11llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+17-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+6-6llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+36-173 files

LLVM/project e766039 — llvm/lib/Support SourceMgrDiagnosticVerifier.cpp, llvm/test/tools/llvm-mc/verify basic.s

[nspr] initial commit
DeltaFile
+36-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+21-4llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+10-1llvm/test/tools/llvm-mc/verify/basic.s
+67-53 files

LLVM/project 9835278 — llvm/docs/CommandGuide llvm-mc.md, llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h

[nspr] initial commit
DeltaFile
+24-4llvm/test/tools/llvm-mc/verify/basic.s
+21-3llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+19-1llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+5-2llvm/docs/CommandGuide/llvm-mc.md
+5-0llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+1-1mlir/lib/IR/Diagnostics.cpp
+75-116 files

LLVM/project 0ca4040 — llvm/tools/llvm-mc llvm-mc.cpp

[nspr] update
DeltaFile
+1-1llvm/tools/llvm-mc/llvm-mc.cpp
+1-11 files

LLVM/project d4d9c93 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+28-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+10-1llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+5-2llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+43-33 files

LLVM/project c8500b1 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+14-1llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+10-2llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+4-3llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+28-63 files

LLVM/project a2b05e6 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+32-14llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+20-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+7-4llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+59-183 files

LLVM/project 2b95f0e — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h, llvm/lib/Support SourceMgrDiagnosticVerifier.cpp

[nspr] initial commit
DeltaFile
+71-55llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+123-0llvm/unittests/Support/SourceMgrDiagnosticVerifierTest.cpp
+49-46llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+12-17mlir/lib/IR/Diagnostics.cpp
+1-0llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
+1-0llvm/unittests/Support/CMakeLists.txt
+257-1186 files

LLVM/project dcdcfb1 — clang/lib/CodeGen CGExpr.cpp CGExprCXX.cpp, clang/lib/Sema SemaOverload.cpp SemaHLSL.cpp

[HLSL] Allow a groupshared struct to be passed as an implicit parameter (#229939)

If the implicit object parameter is in the groupshared address space and
the function is const then perform an LValue to RValue cast.
If the implicit object parameter is in the groupshared address space
then create an HSLOutArgExpr which handles the writeback of the object
from the temporary.
Adds an AST test and a Codegen test.
Closes #228563
DeltaFile
+102-0clang/test/CodeGenHLSL/BasicFeatures/StructPassing.hlsl
+72-0clang/test/AST/HLSL/StructPassing-AST.hlsl
+37-28clang/lib/Sema/SemaHLSL.cpp
+14-2clang/lib/CodeGen/CGExprCXX.cpp
+14-1clang/lib/Sema/SemaOverload.cpp
+4-2clang/lib/CodeGen/CGExpr.cpp
+243-332 files not shown
+247-348 files

GhostBSD/xconfig ddaf8dc — .github/workflows project_automation.yml

Auto-assign pull requests to their author

Add a pr_assign_author job so each new pull request is assigned to the
person who opened it. Bot accounts such as dependabot are skipped since
they cannot be assignees.
DeltaFile
+13-0.github/workflows/project_automation.yml
+13-01 files

GhostBSD/update-station 952ba7b — .github/workflows project_automation.yml

Auto-assign pull requests to their author

Add a pr_assign_author job so each new pull request is assigned to the
person who opened it. Bot accounts such as dependabot are skipped since
they cannot be assignees.
DeltaFile
+13-0.github/workflows/project_automation.yml
+13-01 files