LLVM/project b79ba02clang/lib/CodeGen/Targets AMDGPU.cpp, clang/lib/Sema SemaAMDGPU.cpp

[AMDGPU][GFX12.5] Reimplement monitor load as an atomic operation (#177343)

Load monitor operations make more sense as atomic operations, as
non-atomic operations cannot be used for inter-thread communication w/o
additional synchronization.
The previous built-in made it work because one could just override the
CPol bits, but that bypasses the memory model and forces the user to learn
about ISA bits encoding.

Making load monitor an atomic operation has a couple of advantages.
First, the memory model foundation for it is stronger. We just lean on the
existing rules for atomic operations. Second, the CPol bits are abstracted away
from the user, which avoids leaking ISA details into the API.

This patch also adds supporting memory model and intrinsics
documentation to AMDGPUUsage.

Solves SWDEV-516398.
DeltaFile
+73-53llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
+90-18llvm/docs/AMDGPUUsage.rst
+91-0clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
+66-22clang/lib/Sema/SemaAMDGPU.cpp
+59-28llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+31-48clang/lib/CodeGen/Targets/AMDGPU.cpp
+410-16918 files not shown
+727-27424 files

FreeBSD/ports 76befb6mail/roundcube distinfo Makefile

mail/roundcube: update to 1.6.13 release.

PR:             293042
Submitted by:   Christos Chatzaras <chris at cretaforce.gr>
DeltaFile
+3-3mail/roundcube/distinfo
+1-1mail/roundcube/Makefile
+4-42 files

LLVM/project 2ead49fllvm/test/Transforms/PhaseOrdering d83507-knowledge-retention-bug.ll

[PhaseOrdering] Regenerate test checks (NFC)

The partial check lines while claiming UTC output here were
highly confusing. Regenerate the check lines. While here, use a
newer version and rename blocks to avoid anon block conflicts.
DeltaFile
+25-19llvm/test/Transforms/PhaseOrdering/d83507-knowledge-retention-bug.ll
+25-191 files

LLVM/project 531430bllvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine minnum.ll maxnum.ll

[InstCombine] Relax one-use check for min/max(fpext x, fpext y) to fpext(min/max(x, y)) fold (#180164)

If only of the operands is one-use, the total number of fpexts stays the
same, but the min/max is performed on a narrowed type. Additionally, the
fpext may fold with a following fptrunc.
DeltaFile
+22-7llvm/test/Transforms/InstCombine/minnum.ll
+22-7llvm/test/Transforms/InstCombine/maxnum.ll
+2-2llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+46-163 files

LLVM/project c1c9708clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp CIRGenTypes.cpp, clang/test/CIR/CodeGenBuiltins/AArch64 acle_sve_dup.c

[CIR][AArch64] Add lowering for predicated SVE svdup builtins (zeroing) (#175976)

This PR adds CIR lowering support for predicated SVE `svdup` builtins on
AArch64. The corresponding ACLE intrinsics are documented at:
  https://developer.arm.com/architectures/instruction-sets/intrinsics

This change focuses on the zeroing-predicated variants (suffix `_z`,
e.g. `svdup_n_f32_z`), which lower to the LLVM SVE `dup` intrinsic
with a `zeroinitializer` passthrough operand.

IMPLEMENTATION NOTES
--------------------
* The CIR type converter is extended to support `BuiltinType::SveBool`,
  which is lowered to `cir.vector<[16] x i1>`, matching current Clang
  behaviour and ensuring compatibility with existing LLVM SVE lowering.
* Added logic that converts `cir.vector<[16] x i1>` according to the
  underlying element type. This is done by calling
  `@llvm.aarch64.sve.convert.from.svbool`.


    [58 lines not shown]
DeltaFile
+472-5clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
+92-14clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+4-0clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+2-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+570-194 files

LLVM/project 8554ed7llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUAsmUtils.cpp

AMDGPU: Add syntax for s_wait_event values (#180272)

Previously this would just print hex values. Print names for the
recognized values, matching the sp3 syntax.
DeltaFile
+42-3llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+30-0llvm/test/MC/AMDGPU/gfx12_err.s
+27-0llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
+16-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
+20-0llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
+18-0llvm/test/MC/AMDGPU/gfx11_asm_err.s
+153-138 files not shown
+209-1514 files

FreeBSD/ports 5cc709adevel/R-cran-vctrs Makefile distinfo

devel/R-cran-vctrs: Update to 0.7.1

Add do-test target and test dependencies.
Add license file.
Switch www to canonical form.

Changelog: https://cran.r-project.org/web/packages/vctrs/news/news.html
DeltaFile
+26-3devel/R-cran-vctrs/Makefile
+3-3devel/R-cran-vctrs/distinfo
+29-62 files

LLVM/project 6c31bf0llvm/lib/Transforms/Utils PredicateInfo.cpp, llvm/test/Transforms/SCCP assume-operand-bundles.ll

[PredicateInfo] Fix crash on nonnull assume taking a constant (#180440)

DeltaFile
+8-0llvm/test/Transforms/SCCP/assume-operand-bundles.ll
+1-1llvm/lib/Transforms/Utils/PredicateInfo.cpp
+9-12 files

LLVM/project f2d5b39llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/RISCV splice.ll rvv-shuffle.ll

[RISCV] Add cost for @llvm.vector.splice.{left,right} (#179219)

Currently vector splice intrinsics are costed through getShuffleCost
when the offset is fixed. When the offset is variable though we can't
use a shuffle mask so it currently returns invalid.

This implements the cost in RISCVTTIImpl::getIntrinsicInstrCost as the
cost of a slideup and a slidedown, which matches the codegen.

It also implements the type based cost whenever the offset argument
isn't available.

It may be possible to reduce the cost in future when one of the vector
operands is known to be poison, in which case we only generate a single
slideup or slidedown.
DeltaFile
+372-7llvm/test/Analysis/CostModel/RISCV/splice.ll
+16-33llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
+13-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+401-403 files

OPNSense/core 870692csrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes InterfaceField.php, src/opnsense/mvc/tests/app/library/OPNsense/Firewall FilterRuleTest.php

tests: fix tests broken by #9744

The static option list caching mechanism is now invoked over a
nonexistant config.xm; caching no interfaces for the "*" static
options key.  In order to fix that add a reset for the list.

Would be nicer to move reset to BaseListField since a number
of fields use the static option list for caching but they all
define their own.
DeltaFile
+18-10src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/InterfaceField.php
+3-1src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/InterfaceFieldTest.php
+0-1src/opnsense/mvc/tests/app/library/OPNsense/Firewall/FilterRuleTest.php
+21-123 files

NetBSD/src bjVmbzMsbin/gpt gpt_uuid.c

   Remove assumption that known type UIDs have a local alias

   Currently this changes nothing, as all known types have a known
   name (aka description), which is unlikely to ever change, and have
   been assigned an alias for use with gpt -- which might change in the
   future if we learn about types which no-one is ever likely to want
   to use gpt(8) to create (but which might exist in tables processed).

   Avoiding the assumptions is cheap (for both alias and name), so just
   do it, and no-one will ever need to care in the future.
VersionDeltaFile
1.29+17-9sbin/gpt/gpt_uuid.c
+17-91 files

LLVM/project c9d3b8allvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUAsmUtils.cpp

AMDGPU: Add syntax for s_wait_event values

Previously this would just print hex values. Print names for the
recognized values, matching the sp3 syntax.
DeltaFile
+42-3llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+30-0llvm/test/MC/AMDGPU/gfx12_err.s
+27-0llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
+16-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
+20-0llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
+18-0llvm/test/MC/AMDGPU/gfx11_asm_err.s
+153-138 files not shown
+209-1514 files

NetBSD/pkgsrc 8XOu6oPtextproc/ruby-xhtmldiff Makefile

   textproc/ruby-xhtmldiff: fix build on ruby40

   Require RUBY_ALLOW_HAS_RDOC on ruby40.
VersionDeltaFile
1.2+2-1textproc/ruby-xhtmldiff/Makefile
+2-11 files

LLVM/project fbe1334clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp, libc/src/__support/wctype wctype_classification_utils.cpp

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+4,100-13llvm/test/CodeGen/AArch64/clmul-fixed.ll
+3,681-0libc/src/__support/wctype/wctype_classification_utils.cpp
+23,221-14,0362,508 files not shown
+137,890-63,1702,514 files

LLVM/project f36e996clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp, libc/src/__support/wctype wctype_classification_utils.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+4,100-13llvm/test/CodeGen/AArch64/clmul-fixed.ll
+3,681-0libc/src/__support/wctype/wctype_classification_utils.cpp
+23,221-14,0362,508 files not shown
+137,890-63,1702,514 files

NetBSD/pkgsrc EgmCrQPtextproc/ruby-csv Makefile

   textproc/ruby-csv: not for ruby40

   Ruby 4.0.1 has the same version as bundled gem.
VersionDeltaFile
1.21+4-1textproc/ruby-csv/Makefile
+4-11 files

LLVM/project bc17014clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp, libc/src/__support/wctype wctype_classification_utils.cpp

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+4,100-13llvm/test/CodeGen/AArch64/clmul-fixed.ll
+3,681-0libc/src/__support/wctype/wctype_classification_utils.cpp
+23,221-14,0362,509 files not shown
+137,891-63,1712,515 files

LLVM/project 097a303clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp, libc/src/__support/wctype wctype_classification_utils.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+4,100-13llvm/test/CodeGen/AArch64/clmul-fixed.ll
+3,681-0libc/src/__support/wctype/wctype_classification_utils.cpp
+23,221-14,0362,509 files not shown
+137,891-63,1712,515 files

NetBSD/pkgsrc q0MCrlMtextproc/ruby-commonmarker23 Makefile

   textproc/ruby-commonmarker23: not for ruby40

   This packages is for ruby-redmine61 and it is not support ruby40.
VersionDeltaFile
1.4+4-1textproc/ruby-commonmarker23/Makefile
+4-11 files

LLVM/project e16f354llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/RISCV abs.ll

[RISCV][TTI] Adjust the cost of `llvm.abs` intrinsic when `Zvabd` exists

When `Zvabd` exists, `llvm.abs` is lowered to `vabs.v` so the cost
is 1.

Reviewers: mshockwave, topperc, lukel97, skachkov-sc, preames

Reviewed By: topperc

Pull Request: https://github.com/llvm/llvm-project/pull/180146
DeltaFile
+36-0llvm/test/Analysis/CostModel/RISCV/abs.ll
+5-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+41-02 files

LLVM/project 0c583e7clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaAMDGPU.cpp

AMDGPU: Add llvm.amdgcn.s.wait.event intrinsic (#180170)

Exactly match the s_wait_event instruction. For some reason we already
had this instruction used through llvm.amdgcn.s.wait.event.export.ready,
but that hardcodes a specific value. This should really be a bitmask
that
can combine multiple wait types.

gfx11 -> gfx12 broke compatabilty in a weird way, by inverting the
interpretation of the bit but also shifting the used bit by 1. Simplify
the selection of the old intrinsic by just using the magic number 2,
which should satisfy both cases.
DeltaFile
+42-9llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
+27-0clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl
+24-0clang/lib/Sema/SemaAMDGPU.cpp
+11-0llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+7-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+2-4llvm/lib/Target/AMDGPU/SOPInstructions.td
+113-131 files not shown
+114-137 files

OpenBSD/ports 9wAfuaynet/py-cbor2 distinfo Makefile

   Update to py3-cbor2-5.8.0.
VersionDeltaFile
1.2+2-2net/py-cbor2/distinfo
1.2+1-1net/py-cbor2/Makefile
+3-32 files

OpenBSD/ports X9wxZkDmisc/p5-Finance-Quote Makefile distinfo, misc/p5-Finance-Quote/pkg PLIST

   Update to p5-Finance-Quote-1.68.
VersionDeltaFile
1.17+4-12misc/p5-Finance-Quote/pkg/PLIST
1.32+3-1misc/p5-Finance-Quote/Makefile
1.16+2-2misc/p5-Finance-Quote/distinfo
+9-153 files

OPNSense/core 49d5736. plist, src/opnsense/mvc/tests/app/library/OPNsense/Firewall FilterRuleTest.php

tests: one more for protocol replacements; closes #9744

The tests aren't complete but they do cover parseReplaceSimple()
in its latest form so that's good enough.

Just as a note the tests are designed to be render-agnostic so
that we always start with our rule input and produce pf.conf
compatible rulesets with the tests.  There are two purposes here:

1. Catch regressions when parsers are changed and that also includes
   switching the parser implementation completely in the future.

2. Make sure that the files are actually compilable by pf.conf and
   this should be covered later (the conf files are there on the
   disk for that purpose).

This is the right type of testing for the purpose since the pf.conf
syntax is virtually static and will require little maintenance.
Just needs a lot more coverage for the missing features/rule types.
DeltaFile
+20-0src/opnsense/mvc/tests/app/library/OPNsense/Firewall/FilterRuleTest.php
+5-0src/opnsense/mvc/tests/app/library/OPNsense/Firewall/FilterRuleTest/testProtocol.conf
+1-0plist
+26-03 files

FreeBSD/src dac3b99. CONTRIBUTING.md

CONTRIBUTING.md: Fix links to section

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>

Sponsored by:   The FreeBSD Foundation
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2010
DeltaFile
+2-2CONTRIBUTING.md
+2-21 files

LLVM/project 700c1c9clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp, libc/src/__support/wctype wctype_classification_utils.cpp

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+4,100-13llvm/test/CodeGen/AArch64/clmul-fixed.ll
+3,681-0libc/src/__support/wctype/wctype_classification_utils.cpp
+23,221-14,0362,506 files not shown
+137,867-63,1902,512 files

LLVM/project b141939clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp, libc/src/__support/wctype wctype_classification_utils.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+5,528-5,528llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+4,314-4,314llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,458-2,041clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+4,100-13llvm/test/CodeGen/AArch64/clmul-fixed.ll
+3,681-0libc/src/__support/wctype/wctype_classification_utils.cpp
+23,221-14,0362,506 files not shown
+137,867-63,1902,512 files

LLVM/project fe73774llvm/lib/Target/ARM ARMISelLowering.cpp ARMInstrNEON.td, llvm/test/CodeGen/ARM fp-intrinsics-vector-v8.ll

[ARM] Treat strictfp vector rounding operations as legal

Previously, the strictfp variants of rounding operations (FLOOR, ROUND,
etc) were handled in SelectionDAG via the default expansion, which
splits vector operation into scalar ones. This results in less efficient
code.

This change declares the strictfp counterparts of the vector rounding
operations as legal and modifies existing rules in tablegen descriptions
accordingly.
DeltaFile
+25-40llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
+20-0llvm/lib/Target/ARM/ARMISelLowering.cpp
+1-16llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-intrinsics.ll
+6-6llvm/lib/Target/ARM/ARMInstrNEON.td
+6-6llvm/lib/Target/ARM/ARMInstrMVE.td
+58-685 files

LLVM/project 972e73bllvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoZvabd.td, llvm/test/CodeGen/RISCV/rvv abs-vp.ll fixed-vectors-abs-vp.ll

[RISCV][CodeGen] Lower `ISD::ABS` to Zvabd instructions

We add pseudos/patterns for `vabs.v` instruction and handle the
lowering in `RISCVTargetLowering::lowerABS`.

Reviewers: topperc, 4vtomat, mshockwave, preames, lukel97, tclin914

Reviewed By: mshockwave

Pull Request: https://github.com/llvm/llvm-project/pull/180142
DeltaFile
+319-0llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
+247-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
+107-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
+94-0llvm/test/CodeGen/RISCV/rvv/abs-sdnode.ll
+16-10llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+26-0llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
+809-103 files not shown
+833-389 files

LLVM/project 3b76dabllvm/unittests/CodeGen MFCommon.inc

BogusTargetmachine comment

Created using spr 1.3.5-bogner
DeltaFile
+3-3llvm/unittests/CodeGen/MFCommon.inc
+3-31 files