LLVM/project 2bf4ef0llvm/lib/Analysis Loads.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp LoopVectorizationLegality.cpp

[CSSPGO] Don't let pseudo probes block early-exit vectorization (#219872)

llvm.pseudoprobe is modeled as accessing inaccessible memory, so
mayReadFromMemory()/mayWriteToMemory() return true even though the
intrinsic
carries no real memory dependence. An otherwise vectorizable early-exit
loop
is therefore rejected as soon as it contains a pseudo probe.

This patch skips pseudo probes in isVectorizableEarlyExitLoop(),
isReadOnlyLoop() and
areAllLoadsDereferenceable() so the three checks agree and such loops
vectorize as they would without pseudo probe instrumentation.

Discussion:
https://discourse.llvm.org/t/csspgo-unblocking-pseudo-probe-safe-optimizations/90946
DeltaFile
+114-0llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe_legality.ll
+83-0llvm/test/Transforms/LoopVectorize/early_exit_pseudo_probe.ll
+38-2llvm/unittests/Analysis/LoadsTest.cpp
+10-0llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+8-0llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+4-0llvm/lib/Analysis/Loads.cpp
+257-26 files

LLVM/project f34700cllvm/include/llvm/ExecutionEngine/Orc LookupAndApply.h RecordProxy.h, llvm/unittests/ExecutionEngine/Orc LookupAndApplyTest.cpp ProxyTest.cpp

[ORC] Add SymbolStringPtr overloads for recordAddr/recordProxy (#220125)

Allow clients to pass symbol names as SymbolStringPtrs (in addition to
StringRefs).
DeltaFile
+61-0llvm/unittests/ExecutionEngine/Orc/ProxyTest.cpp
+30-0llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
+29-0llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
+13-0llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
+133-04 files

LLVM/project 5b60fdellvm/test/CodeGen/AMDGPU amdgcn.bitcast.320bit.ll fptosi-sat-vector.ll

[AMDGPU] Allow combining uniform OR/AND to V_PERM (#220048)

Allow the OR/AND -> V_PERM DAG combine for values, even if they are
uniform.

Co-authored by Brendon Cahoon and Cursor
DeltaFile
+2,115-2,484llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+611-829llvm/test/CodeGen/AMDGPU/calling-conventions.ll
+567-723llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+276-366llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+191-235llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
+190-214llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+3,950-4,85123 files not shown
+4,959-5,97829 files

LLVM/project 01cc74dclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver fsanitize-undefined-offload.c

[Clang] Honor -Xarch_gfx* when linking the UBSan offload runtime

Empty bound architecture misses per-GPU sanitizer flags, so inspect each
offload arch when deciding whether the host interceptor is required.
DeltaFile
+16-0clang/test/Driver/fsanitize-undefined-offload.c
+7-4clang/lib/Driver/ToolChains/CommonArgs.cpp
+23-42 files

LLVM/project e78d18fclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver fsanitize-undefined-offload.c

Device only and -shared fix
DeltaFile
+26-0clang/test/Driver/fsanitize-undefined-offload.c
+15-9clang/lib/Driver/ToolChains/CommonArgs.cpp
+41-92 files

LLVM/project ac36319clang/lib/Driver/ToolChains UEFI.cpp Solaris.cpp, clang/test/Driver fsanitize-undefined-device-offload.c

[Clang] Enable UBSan for AMDGPU device offload

Summary:
This enables the device UBSan runtime for AMDGPU decides. Primarily this
required modifications to the `addSanitizerRuntime` interface so we can
query the compilation's offload status. Also need to forward it through
the linker wrapper interface. Works on all AMDGPU offload, slight hacks
around the other targets as they do not advertise sanitizer
runtimes properly.

This is linked in via a new `-u __ubsan_device_initialize` hook to pull
in the side library. This is standard behavior and keeps the core logic
mostly unchanged and re-used.
DeltaFile
+50-0clang/test/Driver/fsanitize-undefined-device-offload.c
+32-3clang/lib/Driver/ToolChains/CommonArgs.cpp
+2-2clang/lib/Driver/ToolChains/Hexagon.cpp
+2-1clang/lib/Driver/ToolChains/Clang.cpp
+1-1clang/lib/Driver/ToolChains/UEFI.cpp
+1-1clang/lib/Driver/ToolChains/Solaris.cpp
+88-813 files not shown
+98-1819 files

LLVM/project 18f4212clang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver fsanitize-undefined-device-offload.c fsanitize-undefined-offload.c

[Clang] Link libclang_rt.ubsan_offload.a for device offload

Match the compiler-rt rename of the host interceptor and the
-u __ubsan_offload_init hook.
DeltaFile
+0-50clang/test/Driver/fsanitize-undefined-device-offload.c
+50-0clang/test/Driver/fsanitize-undefined-offload.c
+5-5clang/lib/Driver/ToolChains/CommonArgs.cpp
+0-0clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_device.a
+0-0clang/test/Driver/Inputs/resource_dir_with_amdgpu_per_target_subdir/lib/x86_64-unknown-linux-gnu/libclang_rt.ubsan_offload.a
+55-555 files

LLVM/project 7159010llvm/lib/Target/LoongArch LoongArchLASXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx vec-zext-invec.ll vec-sext-invec-mask.ll

[LoongArch] Add omitted LASX patterns for vector extend (#219351)

Adds omitted 128-bit to 256-bit patterns for `sign_extend_vector_inreg`,
including `v16i8 -> v4i64` and `v8i16 -> v4i64`, which will generate by
the combination of `icmp + or/and/xor + zext/sext`, all related tests
are added.

Fix: https://github.com/llvm/llvm-project/issues/219224
DeltaFile
+251-0llvm/test/CodeGen/LoongArch/lasx/vec-sext-invec-mask.ll
+57-0llvm/test/CodeGen/LoongArch/lasx/vec-zext-invec.ll
+20-8llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+328-83 files

FreeNAS/freenas d08ab4adocs/source/middleware/plugins alert.rst, src/middlewared/middlewared/alert/applicability engine.py vocabulary.py

Trim stale and redundant comments in the alert applicability work

This commit adds changes to correct or remove the comments this branch introduced. Four were plainly wrong -- the classify ordering was backwards, an unlicensed system does have a licence daemon answering it, a docstring called a HARDWARE class an HA one, and a guard test reads a whole class body rather than check() -- and the rest either restated the code or pinned counts, gate lists and file paths that drift. No behaviour changes: every touched file parses to an identical AST once docstrings are stripped, and the frozen inventory is byte-identical.
DeltaFile
+35-57src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+14-43docs/source/middleware/plugins/alert.rst
+14-32src/middlewared/middlewared/plugins/alert.py
+12-12src/middlewared/middlewared/alert/applicability/vocabulary.py
+9-14src/middlewared/middlewared/pytest/unit/alert/test_alert_black_holes.py
+6-13src/middlewared/middlewared/alert/applicability/engine.py
+90-1713 files not shown
+98-1979 files

LLVM/project 1ea89ebllvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp DAGCombiner.cpp

[ConstantTime] Address reviewer feedback on llvm.ct.select core

- Fix vector-split build error: call the existing SplitRes_Select for
  CT_SELECT instead of the nonexistent SplitRes_CT_SELECT.
- Fix a VP_MERGE result-split regression: the CT_SELECT switch reformat had
  moved ISD::VP_MERGE onto the SplitRes_SELECT_CC line, which reads operand 4
  (out of bounds for VP_MERGE's 4 operands) and builds a SELECT_CC without
  splitting the EVL, crashing or miscompiling any vp.merge whose result
  vector must be split. Restore it to the SplitRes_Select group.
- Accept byte types (bN and vectors of them) in the Verifier and document
  them in LangRef; add byte-typed X86 codegen and Verifier test coverage.
- Drop the redundant `VT0 == MVT::i1` guard in visitCT_SELECT; the inner
  condition-type checks already cover correctness after promotion.
- LangRef: reword the constant-fold rule to the enforceable "constant
  operand" form, restate fast-math flags via the general FP-call rule (only
  nnan/ninf are poison-generating), and switch undef/poison to match select,
  dropping the noundef return attribute so poison propagates (both arms always
  evaluate, so poison in either yields poison).
- Revert an unrelated whitespace change in LegalizeTypes.h.

    [2 lines not shown]
DeltaFile
+310-0llvm/test/CodeGen/X86/ctselect.ll
+24-22llvm/docs/LangRef.md
+21-22llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+3-9llvm/test/Transforms/InstSimplify/ct-select.ll
+3-3llvm/lib/IR/Verifier.cpp
+4-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+365-585 files not shown
+373-7011 files

LLVM/project 3b364e7llvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/test/CodeGen/AArch64 cmpbr-early-ifcvt.mir

[AArch64] Constraint SUBS register classes after if-converting CMPBR (#219884)

When generating SUBS to un-fuse the Armv9.6 Compare-and-Branch immediate
variants CBWPri and CBXPri during if-conversion, we missed to constraint
the register classes, leading to a verifier crash.
DeltaFile
+104-0llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir
+6-2llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+110-22 files

LLVM/project fbf4151llvm/test/Transforms/SLPVectorizer/RISCV insertvalue-element.ll

[SLP][NFC] Pre-commit regression tests for InsertValueInst element size. (#219221)

Add regression tests for SLP vectorization of insertvalue chains over
homogeneous structs ({ i64, i64 } and { i32, i32, i32, i32 }).
The tests capture the current behavior prior to the fix, where
getVectorElementSize() uses the aggregate's total size, potentially
limiting the maximum vectorization factor on targets with a bounded
TTI::getMaximumVF().
A follow-up patch will fix getVectorElementSize() to recurse through
InsertValueInst and update these CHECK lines to reflect the correct
vectorized output.

Tests added:

- llvm/test/Transforms/SLPVectorizer/RISCV/insertvalue-elt-size.ll

Co-authored-by: Aditya-Chaudhary1 <aditya.chaudhary1 at ibm.com>
DeltaFile
+78-0llvm/test/Transforms/SLPVectorizer/RISCV/insertvalue-element.ll
+78-01 files

GhostBSD/ports 70eac37x11/xconfig Makefile distinfo

Merge branch 'main' into llvm-libs
DeltaFile
+1-7x11/xconfig/pkg-plist
+3-3x11/xconfig/distinfo
+1-1x11/xconfig/Makefile
+5-113 files

LLVM/project 040ffe2clang/test/Analysis/Scalable/source-edit-generation cpp-bounded-buffers-replacements.cpp, clang/test/CIR/CodeGen partial-array-cleanup.cpp

Merge remote-tracking branch 'origin/main' into users/icohedron/texture-type-creation-refactor
DeltaFile
+440-295llvm/docs/requirements.txt
+672-0clang/test/Analysis/Scalable/source-edit-generation/cpp-bounded-buffers-replacements.cpp
+209-171llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
+365-0clang/test/CIR/CodeGen/partial-array-cleanup.cpp
+318-0llvm/test/Analysis/ScalarEvolution/addrec-vs-start-monotonic.ll
+198-0llvm/test/Transforms/IndVarSimplify/addrec-vs-start-monotonic.ll
+2,202-46688 files not shown
+3,858-72594 files

GhostBSD/ports 91763b3x11/xconfig Makefile distinfo

x11/xconfig: update to 3.5
DeltaFile
+1-7x11/xconfig/pkg-plist
+3-3x11/xconfig/distinfo
+1-1x11/xconfig/Makefile
+5-113 files

OpenBSD/src B6wCYIisys/arch/amd64/amd64 vmm_machdep.c, sys/arch/amd64/include specialreg.h

   Save CET state on Intel vmm(4) hosts before vm entry.

   On Intel hosts with CET support, vmm must set the host CET related
   state in the VMCS so VMX will restore it on vm exit. vmm was not
   setting this before vm entry resulting in VMX disabling CET on host
   cpus when returning to the kernel.

   Additionally, vmm should explicitly zero the initial guest state
   related to CET and supervisor shadow stacks instead of relying on
   the memory backing the VMCS to have been zeroed.

   ok mlarkin@
VersionDeltaFile
1.77+38-3sys/arch/amd64/amd64/vmm_machdep.c
1.125+5-1sys/arch/amd64/include/specialreg.h
+43-42 files

LLVM/project 6d10716llvm/docs LangRef.md, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp DAGCombiner.cpp

[ConstantTime] Address reviewer feedback on llvm.ct.select core

- Fix vector-split build error: call the existing SplitRes_Select for
  CT_SELECT instead of the nonexistent SplitRes_CT_SELECT.
- Fix a VP_MERGE result-split regression: the CT_SELECT switch reformat had
  moved ISD::VP_MERGE onto the SplitRes_SELECT_CC line, which reads operand 4
  (out of bounds for VP_MERGE's 4 operands) and builds a SELECT_CC without
  splitting the EVL, crashing or miscompiling any vp.merge whose result
  vector must be split. Restore it to the SplitRes_Select group.
- Accept byte types (bN and vectors of them) in the Verifier and document
  them in LangRef; add byte-typed X86 codegen and Verifier test coverage.
- Drop the redundant `VT0 == MVT::i1` guard in visitCT_SELECT; the inner
  condition-type checks already cover correctness after promotion.
- LangRef: reword the constant-fold rule to the enforceable "constant
  operand" form, restate fast-math flags via the general FP-call rule (only
  nnan/ninf are poison-generating), and drop the redundant undef/poison
  propagation paragraph that the noundef return already covers.
- Revert an unrelated whitespace change in LegalizeTypes.h.
- Drop redundant intrinsic declarations from the InstSimplify test and soften
  the SelectionDAGBuilder fast-math comment.
DeltaFile
+310-0llvm/test/CodeGen/X86/ctselect.ll
+21-22llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+20-18llvm/docs/LangRef.md
+3-9llvm/test/Transforms/InstSimplify/ct-select.ll
+3-3llvm/lib/IR/Verifier.cpp
+4-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+361-545 files not shown
+368-6511 files

GhostBSD/ghostbsd 65e896asys/conf package-version

bump version to p13
DeltaFile
+1-1sys/conf/package-version
+1-11 files

LLVM/project 72946b0bolt/include/bolt/Core Exceptions.h, bolt/lib/Core Exceptions.cpp

[BOLT] Parse .eh_frame CFI programs on demand to reduce memory (#214896)

BOLT read the entire .eh_frame up front via DwCtx->getEHFrame(), which
parses and caches the CFI instruction program of every CIE/FDE in the
binary for the whole run. On a large binary, this dominated file-object
discovery: CFIProgram::parse accounted for ~6.5 GB and the cached
DWARFDebugFrame ~6.9 GB of live memory. Yet the CFI programs are only
consumed in CFIReaderWriter::fillCFIInfoFor, and only for the functions
BOLT actually disassembles. discoverFileObjects itself needs nothing but
each FDE's address and range for function-boundary checks.

Here we parse .eh_frame for its index only, and decode each function's
CFI program on demand, lazily, only for the functions that really need
it. In a large binary, DWARFDebugFrame::parse drops from 6922.2 MB to
587.6 MB, the residual being the lightweight FDE/CIE index (entries
without instruction programs), and readSpecialSections falls from 7078.7
MB to 738.6 MB on the tested binary for which BOLT's RSS is about
80-120GB.
DeltaFile
+37-8bolt/lib/Core/Exceptions.cpp
+20-5bolt/lib/Rewrite/RewriteInstance.cpp
+21-3bolt/include/bolt/Core/Exceptions.h
+78-163 files

LLVM/project b04534cclang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Sema SemaHLSL.cpp HLSLBuiltinTypeDeclBuilder.cpp

[HLSL] Add UAV-specific texture load method (#218728)

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

UAV texture resources were using the SRV version of the .Load() method
and resulted in no matching member function calls when attempted to be
used.
This PR fixes that issue by adding addRWTextureLoadMethods() to
HLSLBuiltinTypeDeclBuilder.cpp and fixing the codegen for
BI__builtin_hlsl_resource_load_level to handle UAVs.

Assisted by: Claude Opus 5

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
DeltaFile
+204-173clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+43-13clang/test/SemaHLSL/Resources/Textures-Load-errors.hlsl
+23-14clang/lib/CodeGen/CGHLSLBuiltins.cpp
+23-0clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+17-0clang/test/AST/HLSL/Textures-AST.hlsl
+13-2clang/lib/Sema/SemaHLSL.cpp
+323-2022 files not shown
+326-2038 files

FreeBSD/ports 74810fbwww/freenginx-devel Makefile.extmod Makefile, www/freenginx-devel/files extra-patch-passenger-disable-telemetry extra-patch-passenger-build-nginx.rb

www/freenginx-devel: third-party modules management

- update passenger to 6.2.0

Bump PORTREVISION.

Sponsored by:   tipi.work
DeltaFile
+3-3www/freenginx-devel/distinfo
+2-2www/freenginx-devel/files/extra-patch-passenger-disable-telemetry
+2-2www/freenginx-devel/files/extra-patch-passenger-build-nginx.rb
+2-2www/freenginx-devel/files/extra-patch-passenger-Configuration.c
+1-1www/freenginx-devel/Makefile.extmod
+1-1www/freenginx-devel/Makefile
+11-116 files

LLVM/project b80664dllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 matmul.ll splat-loads.ll

Revert "[SLP]Vectorize unique scalars of splat gather nodes as separate subtrees"

This reverts commit e7e0985a22933f3a91bfdbccdccfe7c0431d57ab to fix buildbots like https://lab.llvm.org/buildbot/#/builders/17/builds/17224

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/220134
DeltaFile
+43-218llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+161-62llvm/test/Transforms/SLPVectorizer/X86/splat-gather-operands.ll
+24-8llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
+17-9llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
+11-9llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-extracts.ll
+12-4llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
+268-3105 files not shown
+295-32711 files

GhostBSD/ghostbsd 556ca12crypto/openssl/ssl/record/methods dtls_meth.c, crypto/openssl/test rpktest.c cmp_extracerts_dos_test.c

Merge remote-tracking branch 'freebsd/releng/15.0' into releng/15.0
DeltaFile
+338-0crypto/openssl/test/cmp_extracerts_dos_test.c
+86-57sys/kern/uipc_usrreq.c
+120-0tests/sys/kern/unix_passfd_test.c
+16-75crypto/openssl/ssl/record/methods/dtls_meth.c
+66-10crypto/openssl/test/rpktest.c
+12-60sys/dev/hwpmc/hwpmc_mod.c
+638-20229 files not shown
+1,086-29035 files

GhostBSD/ports 6798135sysutils/gbi pkg-plist, sysutils/install-station distinfo pkg-plist

Merge branch 'main' into llvm-libs
DeltaFile
+132-1sysutils/gbi/pkg-plist
+1-24sysutils/install-station/pkg-plist
+3-3x11/ghostbsd-mate-settings/distinfo
+3-3sysutils/setup-station/distinfo
+3-3sysutils/pc-sysinstall/distinfo
+3-3sysutils/install-station/distinfo
+145-378 files not shown
+156-4914 files

OpenBSD/src kXnp15Dsys/arch/amd64/amd64 vmm_machdep.c

   Prevent a vmm(4) vcpu getting stuck if copyin(9) fails.

   The VMM_IOC_RUN handler performed copyin after toggling the vcpu
   state to running and didn't properly reset it if copyin fails. This
   would prevent any subsequent attempt by a caller to issue VMM_IOC_RUN
   for the vcpu.

   Instead of adding complexity to the error handling path, perform
   the copyin first before toggling the state.

   ok mlarkin@
VersionDeltaFile
1.76+12-11sys/arch/amd64/amd64/vmm_machdep.c
+12-111 files

GhostBSD/ports 95f41f8sysutils/setup-station pkg-plist Makefile

sysutils/setup-station: update to 0.4
DeltaFile
+3-3sysutils/setup-station/distinfo
+1-1sysutils/setup-station/Makefile
+0-1sysutils/setup-station/pkg-plist
+4-53 files

FreeBSD/ports c3d47bbsysutils/auto-admin Makefile distinfo

sysutils/auto-admin: Update to 0.8.5.6

Fix pkgbase detection bug in a few scripts
DeltaFile
+3-3sysutils/auto-admin/distinfo
+2-1sysutils/auto-admin/Makefile
+5-42 files

OpenBSD/src ZjxOxhJsys/arch/amd64/amd64 vmm_machdep.c

   Fix a kernel memory leak in vmm(4) VMX deinit.

   On Intel VMX hosts, the page of kernel memory allocated for the MSR
   bitmap wasn't being freed when deinitializing a vm. (AMD SVM deinit
   unaffected.)

   ok mlarkin@
VersionDeltaFile
1.75+6-1sys/arch/amd64/amd64/vmm_machdep.c
+6-11 files

GhostBSD/ports 4eea6cdsysutils/install-station Makefile distinfo

sysutils/install-station: update to 0.6
DeltaFile
+1-24sysutils/install-station/pkg-plist
+3-3sysutils/install-station/distinfo
+1-1sysutils/install-station/Makefile
+5-283 files

FreeNAS/freenas 213f61fsrc/middlewared/middlewared/plugins alert.py

Fix comments
DeltaFile
+0-6src/middlewared/middlewared/plugins/alert.py
+0-61 files