LLVM/project 505e650clang/test/CIR/CodeGen fixed-point-arith.cpp, llvm/docs LangRef.md

Merge branch 'main' into users/kparzysz/auto-modifiers-verify
DeltaFile
+0-2,733llvm/docs/LangRef.md
+1,628-280llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
+0-1,354llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
+602-567llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
+765-96llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
+759-0clang/test/CIR/CodeGen/fixed-point-arith.cpp
+3,754-5,030867 files not shown
+26,413-15,777873 files

LLVM/project cb5e1ceclang/test/CodeGen/RISCV rvp-intrinsics.c, cross-project-tests/intrinsic-header-tests riscv_packed_simd.c

[Clang][RISCV] Add packed widening multiply intrinsics (#217534)

Add the 32-bit forms of the RISC-V P-extension packed widening multiply
intrinsics to riscv_packed_simd.h using generic extend-and-multiply IR.

Recognize the generic widening multiply pattern in the RISC-V backend
and select the spec-listed RV32 instructions and RV64 composed
sequences.

Add Clang CodeGen, LLVM CodeGen, and intrinsic header tests for the new
forms.
DeltaFile
+156-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+120-26llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+65-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+50-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+38-8llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+4-24llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+433-581 files not shown
+456-587 files

LLVM/project 2d6d57dllvm/lib/Target/AMDGPU SIPeepholeSDWA.cpp, llvm/test/CodeGen/AMDGPU sdwa-peephole-or-vopc.ll sdwa-peephole-instr-gfx10.mir

[AMDGPU] Fix SIPeepholeSDWA crash on OR with VOPC SDWA operand (#217084)

VOPC SDWA instructions have no dst_sel operand, but the OR folding
pattern assumed that one existed
DeltaFile
+22-0llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-gfx10.mir
+20-0llvm/test/CodeGen/AMDGPU/sdwa-peephole-or-vopc.ll
+10-2llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
+52-23 files

FreeBSD/ports 8c3d532dns/adns distinfo Makefile, dns/adns/files patch-common.make.in

dns/adns: update 1.6.0 -> 1.6.2, pet repology

- Disable debugging output to stderr from adns_addr2text and
  adns_text2addr, when used with exciting values (eg scoped addresses)
- Suppress warning about `trust-ad` in resolv.conf
DeltaFile
+29-0dns/adns/files/patch-common.make.in
+7-7dns/adns/Makefile
+3-3dns/adns/distinfo
+39-103 files

FreeBSD/src 26b921dsys/dev/intel spi_pci.c

intelspi: add Cannon Lake SPI controller IDs

Add PCI device IDs for Cannon Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D58999
DeltaFile
+6-0sys/dev/intel/spi_pci.c
+6-01 files

FreeBSD/src 9fb03ddsys/dev/intel spi_pci.c

intelspi: add Comet Lake SPI controller IDs

Add PCI device IDs for Comet Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D59000
DeltaFile
+6-0sys/dev/intel/spi_pci.c
+6-01 files

FreeBSD/src a3489ccsys/dev/intel spi_pci.c

intelspi: add Broxton SPI controller IDs

Add PCI device IDs for Broxton-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D58997
DeltaFile
+6-0sys/dev/intel/spi_pci.c
+6-01 files

FreeBSD/src 7287754sys/dev/intel spi_pci.c

intelspi: sort PCI ID table by device ID

Sort the existing LPSS peripheral SPI controller PCI ID table by
numeric device ID so new entries have an unambiguous insertion point.

Reviewed by:    wulf
Differential Revision:  https://reviews.freebsd.org/D58996
DeltaFile
+3-3sys/dev/intel/spi_pci.c
+3-31 files

FreeBSD/src 4c998ffsys/dev/intel spi_pci.c

intelspi: add Apollo Lake SPI controller IDs

Add PCI device IDs for Apollo Lake-generation LPSS peripheral SPI
controllers.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D58998
DeltaFile
+3-0sys/dev/intel/spi_pci.c
+3-01 files

LLVM/project 928805cmlir/include/mlir/Dialect/OpenACC OpenACCCGOps.td, mlir/lib/Dialect/OpenACC/Utils OpenACCUtilsCG.cpp

[mlir][acc] Update par_dims format for reduction combine (#217678)

For consistency after https://github.com/llvm/llvm-project/pull/217643
this MR adds par_dims as inherent attribute to reduction_combine as was
intended. And thus ensures consistency in IR printing of this attribute.
DeltaFile
+23-5mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
+4-8mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-reduction-combine.mlir
+4-8mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-reduction-combine-mixed-scope.mlir
+2-3mlir/test/Dialect/OpenACC/ops-cg.mlir
+2-1mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
+1-1mlir/test/Dialect/OpenACC/acc-cg-to-gpu-reduction-block-combine-no-reload.mlir
+36-266 files

LLVM/project f5d4c79libc/src/pthread CMakeLists.txt pthread_getstack_np.cpp, libc/startup/linux do_start.cpp

[libc] Add pthread_getstack_np extension (#217049)

The function returns the stack (size and address) of the given thread,
much like a combination of pthread_getattr_np+pthread_attr_getstack.
However, unlike that combination, this function is guaranteed to be
async-signal-safe. I'm adding it because guaranteeing
async-signal-safety for pthread_getattr_np is tricky because of the
increased scope. In particular, it's hard to avoid memory allocation as
that function would need to store CPU affinity for an unknown number of
CPUs.

I'm not trying to emulate OpenBSD's
[pthread_stackseg_np](https://man.openbsd.org/pthread_stackseg_np.3) as
we discussed previously, because the function has an unusual interface
(it returns the stack through a stack_t, but it has ss_sp point to the
top of the stack instead of the base). It also does not claim to be
async-signal-safe. With a view towards a standardization attempt, I
tried to design something that fits in with the existing APIs. Note that
this does not mean that the design is final, and I am open to changing

    [26 lines not shown]
DeltaFile
+125-0libc/test/integration/src/pthread/pthread_getstack_np_test.cpp
+44-0libc/src/pthread/pthread_getstack_np.h
+36-0libc/src/pthread/pthread_getstack_np.cpp
+22-0libc/test/integration/src/pthread/CMakeLists.txt
+15-0libc/src/pthread/CMakeLists.txt
+13-1libc/startup/linux/do_start.cpp
+255-16 files not shown
+275-112 files

LLVM/project 8fb6d49flang/lib/Parser tools.cpp, flang/test/Parser acc-label-do.f90

[flang][openacc] Recurse into OpenACC constructs when matching labeled DO (#217984)

GetFinalLabel() already walked an OpenACC loop or combined construct to
find a shared terminating label, but the Block walker did not recurse
into nested OpenACC constructs. Three labeled DO loops that share one
terminator, each associated with its own !$acc loop, then failed with
"Label is not in DO loop scope".

Look through OpenACCConstruct in GetFinalLabel(const Block &) the same
way OpenMP constructs are already handled.
DeltaFile
+32-0flang/test/Parser/acc-label-do.f90
+2-0flang/lib/Parser/tools.cpp
+34-02 files

LLVM/project 4275b01flang/lib/Optimizer/Passes Pipelines.cpp, flang/lib/Optimizer/Transforms AddDebugInfo.cpp

[flang] Support -gline-directives-only (#217132)

Do the same as -gline-tables-only but set DIEmissionKind to DebugDirectivesOnly instead of LineTablesOnly.
DeltaFile
+4-2flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
+1-2flang/test/Driver/mlir-debug-pass-pipeline.f90
+2-0flang/test/Transforms/debug-line-table.fir
+2-0flang/test/Driver/debug-level.f90
+2-0flang/lib/Optimizer/Passes/Pipelines.cpp
+1-0flang/test/Integration/debug-module-2.f90
+12-44 files not shown
+16-410 files

LLVM/project b084ecfllvm/test/Transforms/SLPVectorizer/X86 horizontal-fadd-with-sub.ll

[SLP][NFC]Add extra test for fsub/fadd combinations, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/217986
DeltaFile
+390-0llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
+390-01 files

FreeBSD/doc 6c762c3shared contrib-committers.adoc contrib-develalumni.adoc

Move syrinx to developer alumni

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D59094
DeltaFile
+0-1shared/contrib-committers.adoc
+1-0shared/contrib-develalumni.adoc
+1-12 files

LLVM/project 2e39485mlir/include/mlir/Dialect/LLVMIR ROCDLOps.td, mlir/test/Conversion/AMDGPUToROCDL dot-gfx9.mlir wmma-gfx12.mlir

[mlir][ROCDL] Enable useStrictPropertiesInAssemblyFormat

**Migration note:** Separate out inherent and discardable attributes
on your `rocdl.*` operations and put a `<>` around the inherent ones.

This commit adds `prop-dict` clauses to all the ROCDL-dialect
operations that have inherent attributes but don't have better syntax
for them.

I looked at creating better syntaxes here, but these are fairly
low-level operations and it was hard to put together comma-separated
lists of optional arguments in tablegen. So I've gone with the rather
straightforward and consistent fix of adding in `prop-dict`s.

AI note: Claude did the changes here, I reviewed the designs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+60-60mlir/test/Target/LLVMIR/rocdl.mlir
+48-48mlir/test/Dialect/LLVMIR/rocdl.mlir
+37-37mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+6-6mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx12.mlir
+6-6mlir/test/Conversion/AMDGPUToROCDL/wmma-gfx11.mlir
+3-3mlir/test/Conversion/AMDGPUToROCDL/dot-gfx9.mlir
+160-1604 files not shown
+167-16610 files

LLVM/project 9d827c1mlir/include/mlir/Dialect/AMDGPU/IR AMDGPUOps.td, mlir/test/Conversion/AMDGPUToROCDL amdgpu-to-rocdl.mlir mfma.mlir

[mlir][AMDGPU] Enable useStrictPropertiesInAssemblyFormat

This is part of the migration to keeping inherent and discardable
attributes separate touched.

**Migration note:** this'll change the syntax of a bunch of `amdgpu`
dialect ops to keep inherent attributes out of the `attr-dict`.

Syntax changes:

1. Operations like the dpp operations have had their inherent operands
turned into oilists that use `name(value)` syntax, such as
`bound_ctrl(false)`, which also leads to the elision of default
values.
2. Buffer operations now use `boundsCheck(true/false)` before the main
operation (keeping the visibility from the old attr-dict) and have
moved to `sgprOffset(%offset)` and `indexOffset(constant)` as optional
syntax alements after the main specification.
3. WMMA operations also now have the same `attribute[(value)]` element

    [15 lines not shown]
DeltaFile
+59-59mlir/test/Dialect/AMDGPU/ops.mlir
+69-20mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
+39-39mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
+32-32mlir/test/Dialect/AMDGPU/invalid.mlir
+25-25mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
+20-20mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+244-19518 files not shown
+411-36124 files

LLVM/project f128dfemlir/include/mlir/Dialect/AMDGPU/IR AMDGPUOps.td

Move buffer ops to oilist
DeltaFile
+14-14mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
+14-141 files

LLVM/project 19c0c90mlir/include/mlir/Dialect/XeGPU/IR XeGPUOps.td, mlir/test/Dialect/XeGPU xegpu-wg-to-sg.mlir propagate-layout.mlir

[mlir] Don't print a stray space for a fully-elided prop-dict (#216810)

**Migration note**: if you have a custom `prop-dict` printer, add a
leading space into the format - it'll no longer be printed implicitly.

The `prop-dict` printer generated by mlir-tblgen would always print
a space before dispatching to printProperties(). When every property is
elided (because it is bound elsewhere in the assembly format or matches
its default value) printProperties() prints nothing, leaving a stray
space in the output. We had a test TODO about this.

This PR makes the leading space the responsibility of the properties
printer, so
it's emitted only when needed. The generic
printer in OpState::genericPrintProperties() and all in-tree custom
printers have been updated accordingly.

XeGPU had worked around the stray space by writing an empty space
directive (``) after prop-dict to suppress the space before ':'. Those

    [14 lines not shown]
DeltaFile
+17-17mlir/test/Dialect/XeGPU/ops.mlir
+4-4mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
+4-4mlir/test/Dialect/XeGPU/propagate-layout.mlir
+4-4mlir/test/Dialect/XeGPU/invalid.mlir
+4-4mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
+3-4mlir/test/mlir-tblgen/op-format.mlir
+36-379 files not shown
+54-5215 files

LLVM/project 8980e58llvm/lib/Target/AMDGPU GCNRegPressure.cpp

clang-format.
DeltaFile
+3-2llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
+3-21 files

LLVM/project 67cd401clang/include/clang/StaticAnalyzer/Core/PathSensitive SMTConv.h

[analyzer][z3][NFC] fix indentation/formatting in SMTConv.h getBinExpr (#217962)
DeltaFile
+4-5clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
+4-51 files

LLVM/project dd8afabflang/test/Semantics/OpenMP doacross.f90

Restore deleted line from testcase
DeltaFile
+2-1flang/test/Semantics/OpenMP/doacross.f90
+2-11 files

LLVM/project eeb97efllvm/include/llvm/Frontend/OpenMP OMPDescriptors.h.inc, llvm/lib/Frontend/OpenMP OMPDescriptors.inc

Update unique/repeatable properties on modifiers
DeltaFile
+37-37llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+1-0llvm/include/llvm/Frontend/OpenMP/OMPDescriptors.h.inc
+38-372 files

LLVM/project a09e84bllvm/include/llvm/Analysis LoopInfo.h, llvm/lib/Analysis LoopInfo.cpp

[SimpleLoopUnswitch] Tweak token live-out behavior (#217916)

The previous check (moved into Loop::isSafeToCloneConditionally in the
preceding NFC commit) rejected any token instruction with a use outside
its defining basic block. This is both too strict and too lax:

- Too strict: cloning only requires forming phis for values that are
live-out of the *loop*. Token uses that cross blocks but stay within the
loop are cloned along with their defs and need no phis, so they do not
inhibit non-trivial unswitching.

- Too lax: `isTokenTy()` misses token-like target extension types
(`isTokenLikeTy()`), which cannot be used in phi nodes either. A
live-out token-like value would have made unswitching produce invalid
IR.

Switch the check to reject exactly the token-like values that are
live-out of the loop, reusing the same use-scanning logic as
`isBlockInLCSSAForm` (`loopContainsUser`): a use in a phi is treated as

    [4 lines not shown]
DeltaFile
+179-0llvm/test/Transforms/SimpleLoopUnswitch/token-uses.ll
+11-3llvm/lib/Analysis/LoopInfo.cpp
+5-4llvm/include/llvm/Analysis/LoopInfo.h
+4-3llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
+199-104 files

FreeNAS/freenas 1c9212bsrc/middlewared/middlewared/plugins/truenas license_legacy_utils.py

Fix mypy warning
DeltaFile
+1-1src/middlewared/middlewared/plugins/truenas/license_legacy_utils.py
+1-11 files

NetBSD/pkgsrc-wip b542208. Makefile, modular-xorg-xephyr PLIST DESCR

modular-xorg-xephyr: add conversion to meson

based on latest release candidate
DeltaFile
+35-0modular-xorg-xephyr/Makefile
+8-0modular-xorg-xephyr/DESCR
+3-0modular-xorg-xephyr/PLIST
+1-0Makefile
+47-04 files

LLVM/project 0fa9f1fllvm/include/llvm/IR VPIntrinsics.def, llvm/lib/CodeGen/SelectionDAG MatchContext.h LegalizeVectorOps.cpp

[DAG] Remove trivial VP SDNodes. NFC

This removes the codegen parts of the trivial VP intrinsics. It's quite far reaching, but the general categories of code removed are:

- Removing definitions from VPIntrinsics.def
- Legalization and expansion code
- MatchContext used to match over both VP and non-VP nodes
- Some dead DAGCombines and folds in SelectionDAGBuilder

There are still more things to be cleaned up after this, e.g. removing more of the VPIntrinsic class hierarchy, removing ExpandVectorPredication/moving expansion into other places, removing MatchContext from SDPatternMatch
DeltaFile
+80-283llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+3-340llvm/include/llvm/IR/VPIntrinsics.def
+6-336llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+47-282llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+7-217llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+0-182llvm/lib/CodeGen/SelectionDAG/MatchContext.h
+143-1,64011 files not shown
+188-2,01417 files

LLVM/project e183085llvm/lib/Target/VE VVPNodes.def

[VE] Remove trivial VP SDNode mappings. NFC

These SDNodes aren't emitted anymore and will be removed in an upcoming patch.
DeltaFile
+9-9llvm/lib/Target/VE/VVPNodes.def
+9-91 files

LLVM/project 1cb56d8llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp LegalizeVectorOps.cpp, llvm/test/CodeGen/VE/Vector vp_urem.ll vp_srem.ll

[DAG] Expand vp.*rem and vp.cttz.elts with non-vp nodes.

Trivial VP SDNodes will be removed in an upcoming patch. The division is still predicated so we avoid UB.
DeltaFile
+24-12llvm/test/CodeGen/VE/Vector/vp_urem.ll
+24-12llvm/test/CodeGen/VE/Vector/vp_srem.ll
+5-5llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+3-5llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+56-344 files

LLVM/project ad9138fllvm/docs LangRef.md, llvm/include/llvm/IR VPIntrinsics.def Intrinsics.td

[IR] Remove trivial VP intrinsics. NFC (#217863)

Trivial VP intrinsics are now all autoupgraded to their non-VP
counterparts, so the intrinsics themselves are dead.

This removes the intrinsics and their corresponding LangRef definitions,
as well as the VPIntrinsic subclasses and some methods in
ExpandVectorPredication which are now dead. Removing the SDNodes is
deferred to a separate patch.

RFC: https://discourse.llvm.org/t/rfc-remove-trivial-vp-intrinsics/90972
DeltaFile
+0-2,733llvm/docs/LangRef.md
+1-317llvm/include/llvm/IR/Intrinsics.td
+97-143llvm/include/llvm/IR/VPIntrinsics.def
+2-170llvm/lib/CodeGen/ExpandVectorPredication.cpp
+0-127mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
+1-87llvm/lib/IR/IntrinsicInst.cpp
+101-3,5779 files not shown
+107-3,89515 files