LLVM/project 5d7d143 — llvm/test/CodeGen/RISCV/GlobalISel fp128.ll

[RISCV][NFC] Added fp128 type testcases (#233095)

**Reference PR -** https://github.com/llvm/llvm-project/pull/233100
DeltaFile
+4,641-516llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
+4,641-5161 files

LLVM/project 20ec35c — llvm/include/llvm/CodeGen MachineScheduler.h, llvm/lib/CodeGen MachineScheduler.cpp

Address comments

Created using spr 1.3.6-beta.1
DeltaFile
+39-44llvm/lib/CodeGen/MachineScheduler.cpp
+31-17llvm/include/llvm/CodeGen/MachineScheduler.h
+26-0llvm/test/CodeGen/RISCV/postmisched-antidep.ll
+2-2llvm/test/CodeGen/RISCV/postmisched-antidep-region.mir
+98-634 files

LLVM/project 8539f04 — llvm/lib/Target/AMDGPU GCNFeatures.td AMDGPULowerIntrinsics.cpp, llvm/test/CodeGen/AMDGPU mcast-full-mask-bug.ll lower-intrinsics-mcast-full-mask.ll

Extend the mask restriction to cluster_load_* multicasts
DeltaFile
+368-47llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.async.to.lds.ll
+333-15llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cluster.load.ll
+94-11llvm/test/CodeGen/AMDGPU/lower-intrinsics-mcast-full-mask.ll
+39-20llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
+56-2llvm/test/CodeGen/AMDGPU/mcast-full-mask-bug.ll
+1-1llvm/lib/Target/AMDGPU/GCNFeatures.td
+891-966 files

LLVM/project abc4f4c — llvm/include/llvm/CodeGen CFGuardLongjmp.h, llvm/lib/CodeGen CFGuardLongjmp.cpp

[NewPM][CodeGen] Port cfguard-longjmp (#234481)

Standard NewPM pass porting.
DeltaFile
+31-6llvm/lib/CodeGen/CFGuardLongjmp.cpp
+25-0llvm/include/llvm/CodeGen/CFGuardLongjmp.h
+2-2llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
+1-1llvm/lib/Target/X86/X86TargetMachine.cpp
+1-1llvm/lib/Target/ARM/ARMTargetMachine.cpp
+2-0llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+62-106 files not shown
+68-1512 files

LLVM/project 3c71e66 — clang/test/OpenMP declare_variant_isa_selectors.c, llvm/include/llvm/Frontend/OpenMP OMPContext.h

[clang][OpenMP] Match device and target_device ISA names separately (#232996)

A context selector can name ISAs in both `device={isa(...)}` and
`target_device={isa(...)}`. These are separate selectors, but their ISA
names were checked together, so an ISA that the target does not support
made both selectors fail. The default match_all needs both selectors
anyway, but the `match_any` and `match_none` extensions selected the
wrong variant. For example, on x86-64:

```c
  #pragma omp declare variant(variant) \
      match(device = {isa(sse2)}, target_device = {isa(bogus_isa)}, \
            implementation = {extension(match_any)})
```

did not select variant, although `device={isa(sse2)}` matches. Likewise,
`match_none` accepted a variant whose `target_device` ISA matched.

This patch records which selector each ISA name belongs to and check

    [6 lines not shown]
DeltaFile
+44-1llvm/unittests/Frontend/OpenMPContextTest.cpp
+35-0clang/test/OpenMP/declare_variant_isa_selectors.c
+8-10llvm/lib/Frontend/OpenMP/OMPContext.cpp
+13-5llvm/include/llvm/Frontend/OpenMP/OMPContext.h
+100-164 files

LLVM/project 48ee595 — llvm/include/llvm/Analysis TargetTransformInfoImpl.h TargetTransformInfo.h, llvm/lib/Analysis TargetTransformInfo.cpp

[LSR] Refine target-specific equality loop exits

Query target interest before computing the SCEV exit count.

Also cover samesign comparisons and remove a redundant IV operand check.

Assisted-by: TRAE CLI (GPT-5.6-Sol)
DeltaFile
+180-0llvm/test/Transforms/LoopStrengthReduce/RISCV/loop-exit-equality.ll
+9-3llvm/include/llvm/Analysis/TargetTransformInfo.h
+4-5llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+7-2llvm/lib/Analysis/TargetTransformInfo.cpp
+5-2llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+6-1llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+211-131 files not shown
+215-157 files

LLVM/project c5c3cf7 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/Target/NVPTX NVPTXISelDAGToDAG.cpp NVPTXISelLowering.cpp

[AtomicExpand][NVPTX] Support native elementwise atomicrmw
DeltaFile
+171-1,538llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm90.ll
+204-23llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+57-167llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm70.ll
+142-10llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
+95-0llvm/test/CodeGen/NVPTX/cache-hint-atomics.ll
+42-28llvm/lib/CodeGen/AtomicExpandPass.cpp
+711-1,7666 files not shown
+772-1,79212 files

LLVM/project ff573f3 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/Target/NVPTX NVPTXISelLowering.cpp

[AtomicExpand][NVPTX] Defer single-lane atomics to type legalization
DeltaFile
+2,376-2,410llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm70.ll
+2,252-2,190llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm60.ll
+882-958llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm90.ll
+57-44llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+41-46llvm/lib/CodeGen/AtomicExpandPass.cpp
+19-51llvm/test/Transforms/AtomicExpand/NVPTX/atomicrmw-vector.ll
+5,627-5,6995 files not shown
+5,678-5,80611 files

LLVM/project fff09e3 — llvm/test/CodeGen/NVPTX atomicrmw-v1-type-legalization.ll, llvm/test/Transforms/AtomicExpand/Mips expand-atomic-rmw-elementwise.ll

[AtomicExpand][NVPTX] Add single-lane atomic RMW coverage

Record current expansion and code generation before changing single-lane RMW legalization. Check the full pipeline separately from direct instruction selection while their output differs.
DeltaFile
+194-0llvm/test/Transforms/AtomicExpand/NVPTX/atomicrmw-vector.ll
+103-0llvm/test/Transforms/AtomicExpand/Mips/expand-atomic-rmw-elementwise.ll
+32-14llvm/test/CodeGen/NVPTX/atomicrmw-v1-type-legalization.ll
+15-0llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
+344-144 files

LLVM/project 28bb0cf — mlir/lib/Conversion/ComplexToStandard ComplexToStandard.cpp, mlir/test/Conversion/ComplexToStandard convert-to-standard.mlir

[mlir][complex] Fix exp special values for infinite real part (#232791)
DeltaFile
+33-2mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
+30-3mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
+21-0mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
+84-53 files

FreeBSD/ports 195778c — devel/glab pkg-plist Makefile

devel/glab: update to 1.124.0

Changes:        https://gitlab.com/gitlab-org/cli/-/releases
DeltaFile
+5-5devel/glab/distinfo
+2-3devel/glab/Makefile
+1-2devel/glab/pkg-plist
+8-103 files

LLVM/project 31cc8e5 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/Target/NVPTX NVPTXISelDAGToDAG.cpp NVPTXISelLowering.cpp

[AtomicExpand][NVPTX] Support native elementwise atomicrmw
DeltaFile
+171-1,538llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm90.ll
+204-23llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+57-167llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm70.ll
+142-10llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
+95-0llvm/test/CodeGen/NVPTX/cache-hint-atomics.ll
+42-28llvm/lib/CodeGen/AtomicExpandPass.cpp
+711-1,7666 files not shown
+772-1,79212 files

LLVM/project 2682ee6 — llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/lib/Target/NVPTX NVPTXISelLowering.cpp

[AtomicExpand][NVPTX] Defer single-lane atomics to type legalization
DeltaFile
+2,376-2,410llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm70.ll
+2,252-2,190llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm60.ll
+882-958llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm90.ll
+57-44llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+38-45llvm/lib/CodeGen/AtomicExpandPass.cpp
+19-51llvm/test/Transforms/AtomicExpand/NVPTX/atomicrmw-vector.ll
+5,624-5,6984 files not shown
+5,671-5,80310 files

LLVM/project bb464de — llvm/lib/Target/AMDGPU AMDGPULowerIntrinsics.cpp, llvm/test/CodeGen/AMDGPU lower-intrinsics-mcast-full-mask.ll

review: use known bits to decide when to restrict the mask
DeltaFile
+42-0llvm/test/CodeGen/AMDGPU/lower-intrinsics-mcast-full-mask.ll
+16-12llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
+58-122 files

LLVM/project fb3ef86 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch sextw-removal.ll

[LoongArch] Implement `computeKnownBitsForTargetNode()` cases for `V{ALL,ANY}_{,NON}ZERO` (#230799)

Currently, `emitVecCondBranchPseudo()` loads an constant 0/1 into the
destination GPR for `Pseudo{,X}VB{Z,NZ}{,_B,_H,_W,_D}`:


https://github.com/llvm/llvm-project/blob/762316e293d1db4f495bdbb545c31d588a1a2d62/llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp#L9099-L9112

Yet their corresponding `SDNode`s, `V{ALL,ANY}_{,NON}ZERO`, are not
marked with matching range information in
`computeKnownBitsForTargetNode()`. Doing so elides unnecessary sign
extensions and could also help pattern matching in a later optimization.
DeltaFile
+4-5llvm/test/CodeGen/LoongArch/sextw-removal.ll
+9-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+13-52 files

LLVM/project f3b29c3 — clang/include/clang/CIR/Dialect/IR CIRDialect.td, clang/lib/CIR/CodeGen/Targets AMDGPU.cpp

[CIR][AMDGPU] Honor __launch_bounds__ on HIP kernels (#233929)

Map max threads to amdgpu-flat-work-group-size and min blocks to
amdgpu-waves-per-eu matching classic codegen
DeltaFile
+32-8clang/lib/CIR/CodeGen/Targets/AMDGPU.cpp
+21-0clang/test/CIR/CodeGenHIP/amdgpu-attrs.hip
+2-0clang/include/clang/CIR/Dialect/IR/CIRDialect.td
+55-83 files

LLVM/project d9a66d0 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lsx vhsubw.ll vhaddw.ll

[LoongArch] Lower vector sign extension with VSLLWIL and VEXTH

vsllwil.{h.b/w.h/d.w} with a zero shift amount sign-extends the low
half of the source elements, and vexth.{h.b/w.h/d.w} the high half.
Use them for the custom SIGN_EXTEND legalization and for
SIGN_EXTEND_VECTOR_INREG, instead of computing the sign mask with vslti
and interleaving it with vilvl/vilvh, which takes one more instruction
per step. SIGN_EXTEND_VECTOR_INREG now also handles 4x extensions, which
previously fell back to a shuffle followed by a vslli/vsrai pair.
DeltaFile
+55-80llvm/test/CodeGen/LoongArch/lsx/vec-sext.ll
+35-57llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
+22-27llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+16-19llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
+4-8llvm/test/CodeGen/LoongArch/lsx/vhsubw.ll
+4-8llvm/test/CodeGen/LoongArch/lsx/vhaddw.ll
+136-1996 files

FreeBSD/ports ea0be7a — filesystems/amazon-efs-utils Makefile.crates distinfo, filesystems/amazon-efs-utils/files patch-src_efs__utils__common_proxy.py patch-src_watchdog_____init____.py

filesystems/amazon-efs-utils: update to 3.3.4

Sponsored by:   Netflix
DeltaFile
+69-71filesystems/amazon-efs-utils/distinfo
+33-34filesystems/amazon-efs-utils/Makefile.crates
+0-16filesystems/amazon-efs-utils/files/patch-src_cargo-crates_s2n-tls-0.3.44_src_init.rs
+16-0filesystems/amazon-efs-utils/files/patch-src_cargo-crates_s2n-tls-0.3.45_src_init.rs
+3-3filesystems/amazon-efs-utils/files/patch-src_watchdog_____init____.py
+2-2filesystems/amazon-efs-utils/files/patch-src_efs__utils__common_proxy.py
+123-1262 files not shown
+126-1308 files

FreeBSD/ports 6a1151b — www/py-firecrawl-py Makefile distinfo

www/py-firecrawl-py: update to 4.53.2
DeltaFile
+3-3www/py-firecrawl-py/distinfo
+1-1www/py-firecrawl-py/Makefile
+4-42 files

FreeBSD/ports 5121d1e — www/py-exa-py Makefile distinfo

www/py-exa-py: update to 2.26.0
DeltaFile
+3-3www/py-exa-py/distinfo
+1-1www/py-exa-py/Makefile
+4-42 files

LLVM/project ba58d3b — mlir/include/mlir/Dialect/Arith/IR Arith.h, mlir/lib/Dialect/Arith/IR ArithOps.cpp

[mlir][arith] Honor finite min/max reduction identities (#232257)

I hit this while compiling a JAX transformer block through IREE/WebGPU
in JupyterLite. `linalg.softmax` requests a finite reduction
initializer, but `getIdentityValueAttr` returns NaN for `maxnumf`, which
Tint rejects.

Honor `useOnlyFiniteValue` for `maxnumf` and `minnumf`, preserving the
existing NaN identities when the flag is false. Update the existing
softmax check and add finite min/max reduction cases.
DeltaFile
+107-0mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
+16-2mlir/lib/Dialect/Arith/IR/ArithOps.cpp
+8-6mlir/test/Dialect/Linalg/pad-neutral.mlir
+5-3mlir/include/mlir/Dialect/Arith/IR/Arith.h
+1-1mlir/test/Dialect/Linalg/transform-op-decompose.mlir
+137-125 files

OpenBSD/src wP650M7 — usr.sbin/rpki-client print.c extern.h

   rpki-client: report on non-canonically ordered addresses in ROAs

   This adds a warning (under verbose) if the ROAIPAddress families contain
   out of order elements. It also warns (always) if IPv6 comes before IPv4.
   The JSON output for ROAs in filemode grows a new noncanonical boolean.

   ok job
VersionDeltaFile
1.96+53-2usr.sbin/rpki-client/roa.c
1.81+2-1usr.sbin/rpki-client/print.c
1.314+2-1usr.sbin/rpki-client/extern.h
+57-43 files

LLVM/project 3edfb37 — mlir/lib/Transforms/Utils FoldUtils.cpp, mlir/test/Transforms constant-fold-notifications.mlir operation-folder-notifications.mlir

[mlir] Notify rewriter listeners when hoisting constants (#233776)

`OperationFolder` was calling `op->moveBefore` without notifying the
rewriter.

Also, fixed use-after-free exposed in `TestSingleFold`,
`notifyOperationInserted` called both when op is materialized and when
it moved in the block, causing same op to be added multiple times,
`notifyOperationErased` would only remove one instance leaving remaining
pointers dangling.
DeltaFile
+62-0mlir/test/lib/IR/DumpNotifications.h
+7-45mlir/test/lib/Dialect/Test/TestPatterns.cpp
+35-0mlir/test/Transforms/operation-folder-notifications.mlir
+16-6mlir/test/lib/Transforms/TestSingleFold.cpp
+19-0mlir/test/Transforms/constant-fold-notifications.mlir
+5-5mlir/lib/Transforms/Utils/FoldUtils.cpp
+144-566 files

LLVM/project 3f58dbf — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 mask-beforefirst.ll

[X86] Combine mask_beforefirst to (x - 1) & ~x in GPR

EVEX and libc use this pattern in strcpy etc. to set the bits before the lowest set bit. It works correctly for x=0 too, returning an all ones mask.

Because SSE/AVX/AVX2 promote vNi1 types, do this as a DAG combine before type legalization.

We need to restrict it to power of 2 types otherwise we hit a latent crash in combineToExtendBoolVectorInReg.
DeltaFile
+243-524llvm/test/CodeGen/X86/mask-beforefirst.ll
+23-0llvm/lib/Target/X86/X86ISelLowering.cpp
+266-5242 files

LLVM/project 8912449 — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize early_exit_combined_exits.ll early_exit_with_stores.ll

[VPlan] Use llvm.mask.beforefirst for computing early exit mask

This makes the cost more accurate and improves codegen for RISC-V. The codegen for an early exit loop with side effects then goes from:

    .LBB0_3:                                # %vector.body
                                            # =>This Inner Loop Header: Depth=1
        vl1r.v  v16, (a3)
        vsetvli zero, zero, e8, m1, ta, ma
        vmseq.vi        v16, v16, 0
        vfirst.m        a7, v16
        srli    t0, a7, 63
        czero.nez       a7, a7, t0
        czero.eqz       t0, a1, t0
        or      a7, t0, a7
        vsetvli zero, zero, e64, m8, ta, ma
        vmsltu.vx       v0, v8, a7
        vle8.v  v17, (a5), v0.t
        vcpop.m t1, v16
        vsetvli zero, zero, e8, m1, ta, ma

    [20 lines not shown]
DeltaFile
+55-50llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
+36-36llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
+24-16llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+15-10llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
+7-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+9-6llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
+146-1265 files not shown
+161-13611 files

LLVM/project c4f3424 — llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/X86 mask-beforefirst.ll

[SelectionDAG] Handle splitting in get_active_lane_mask expansion

Split when the type is legal, e.g. v64i1, but the step vector needed for expansion needs split, e.g. v64i8.

This can happen on avx512 when the 512 bit registers are disabled.
DeltaFile
+350-0llvm/test/CodeGen/X86/mask-beforefirst.ll
+12-2llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+362-22 files

LLVM/project 8e0f5ae — llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/WebAssembly mask-beforefirst.ll

[SelectionDAG] Fix get_active_lane_mask expansion on 32-bit targets

On e.g. wasm32, OpVT can be 32 bits whilst the StepVector type can be v2i64. When this happens DAG.getConstant asserts because maxUIntN doesn't fit into the 32 bits. Fix this by clamping it to OpVT's max size.
DeltaFile
+47-0llvm/test/CodeGen/WebAssembly/mask-beforefirst.ll
+4-2llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+51-22 files

LLVM/project 7144377 — llvm/test/Transforms/InstCombine mask-beforefirst.ll

Precommit tests
DeltaFile
+26-0llvm/test/Transforms/InstCombine/mask-beforefirst.ll
+26-01 files

LLVM/project dbaf544 — llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/InstCombine mask-beforefirst.ll

[ValueTracking] Mark mask.beforefirst as propagating poison

This allows us to combine some logical ands/ors to regular ands/ors.
DeltaFile
+2-2llvm/test/Transforms/InstCombine/mask-beforefirst.ll
+1-0llvm/lib/Analysis/ValueTracking.cpp
+3-22 files

LLVM/project ced1eeb — llvm/test/Transforms/InstSimplify/ConstProp mask-beforefirst.ll

Precommit tests
DeltaFile
+74-0llvm/test/Transforms/InstSimplify/ConstProp/mask-beforefirst.ll
+74-01 files