LLVM/project 7868963llvm/lib/Target/SPIRV SPIRVCommandLine.cpp SPIRVCommandLine.h, llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space non-constant-printf.ll

[SPIRV] Fix disabling of default extensions (#183325)

If you pass `-ExtName` to the `--spirv-ext` command line option. that
should disable the extension. However some vendors have some extensions
enabled by default when using a triple with that vendor, and disabling
an extension with the option did not effect the default extensions.

This PR makes it so disabling an extension with the `--spirv-ext` option
actually disables the extension.

The problem was we only considered the disabled extension when parsing
the arguments for `--spirv-ext`, but the default extensions are added
separately, so we need to store the disabled extensions and factor them
in when computing the final extension set to use.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
DeltaFile
+5-2llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+3-0llvm/lib/Target/SPIRV/SPIRVCommandLine.h
+3-0llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_relaxed_printf_string_address_space/non-constant-printf.ll
+11-23 files

LLVM/project 7c86ea1llvm/lib/Analysis ValueTracking.cpp

cleanup
DeltaFile
+3-2llvm/lib/Analysis/ValueTracking.cpp
+3-21 files

OPNSense/core 3c28be9src/opnsense/mvc/app/models/OPNsense/Firewall Filter.php

Firewall: Rules [new]: Add validation to prevent using both gateway and reply-to in the same rule (#9863)

DeltaFile
+6-0src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php
+6-01 files

LLVM/project 618e4f5llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/Attributor/AMDGPU nofpclass-amdgcn-trig-preop.ll

ValueTracking: Special case fmul by llvm.amdgcn.trig.preop

This is another instance of the logic from #183159. If we know
one source is not-infinity, and the other source is less than or
equal to 1, this cannot overflow. Special case llvm.amdgcn.trig.preop,
as a substitute for proper range tracking. This almost enables pruning
edge case handling in trig function implementations, if not for the
recursion depth limit (but that's a problem for another day).
DeltaFile
+113-0llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
+25-12llvm/lib/Analysis/ValueTracking.cpp
+138-122 files

LLVM/project 5587dcellvm/test/Transforms/Attributor nofpclass-fmul.ll

Test negatives
DeltaFile
+33-0llvm/test/Transforms/Attributor/nofpclass-fmul.ll
+33-01 files

LLVM/project a849048llvm/include/llvm/ADT APFloat.h, llvm/lib/Support KnownFPClass.cpp

Fix negative
DeltaFile
+12-12llvm/include/llvm/ADT/APFloat.h
+2-1llvm/lib/Support/KnownFPClass.cpp
+1-1llvm/test/Transforms/Attributor/nofpclass-fmul.ll
+15-143 files

LLVM/project 3a5f0f8llvm/lib/Support KnownFPClass.cpp, llvm/test/Transforms/Attributor nofpclass-fmul.ll

Fix cases greater than 1 with 0 ilogb
DeltaFile
+22-0llvm/test/Transforms/Attributor/nofpclass-fmul.ll
+6-2llvm/lib/Support/KnownFPClass.cpp
+28-22 files

LLVM/project fcdad27llvm/lib/Support KnownFPClass.cpp, llvm/test/Transforms/Attributor nofpclass-fmul.ll

ValueTracking: Teach computeKnownFPClass that multiply by <=1 cannot overflow

If one operand is known not-inf, that can be propagated if the other operand is
known to have a magnitude <= 1.

This enables elimination of some inf checks inside the implementation of trig
functions when the input is known not-inf.
DeltaFile
+2-2llvm/test/Transforms/Attributor/nofpclass-fmul.ll
+4-0llvm/lib/Support/KnownFPClass.cpp
+6-22 files

LLVM/project dbe4bballvm/test/Transforms/Attributor nofpclass-fmul.ll

baseline tests
DeltaFile
+52-0llvm/test/Transforms/Attributor/nofpclass-fmul.ll
+52-01 files

LLVM/project 76977cfclang/lib/Sema SemaARM.cpp, llvm/lib/Target/AArch64 AArch64InstrInfo.td AArch64InstrFormats.td

fixup! Address more helpful review comments from Kerry
DeltaFile
+160-0llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+4-4llvm/lib/Target/AArch64/AArch64InstrInfo.td
+1-4clang/lib/Sema/SemaARM.cpp
+0-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+165-134 files

LLVM/project 017c193clang/test/CodeGen arm_acle.c builtins-arm64.c, clang/test/Sema/AArch64 pcdphint-atomic-store.c

fixup! Fix more PR comments
DeltaFile
+19-9clang/test/Sema/AArch64/pcdphint-atomic-store.c
+8-6llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+10-0clang/test/CodeGen/arm_acle.c
+0-9llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+5-0clang/test/CodeGen/builtins-arm64.c
+0-4llvm/include/llvm/IR/IntrinsicsAArch64.td
+42-282 files not shown
+44-328 files

LLVM/project b8ec96aclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup! Fix Kerry's CR comments and add negative test for "must be an integer type"
DeltaFile
+16-6llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+3-7clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+3-3clang/lib/Sema/SemaARM.cpp
+5-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+3-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/lib/Headers/arm_acle.h
+31-176 files

LLVM/project 4fdc9b7llvm/include/llvm/IR IntrinsicsAArch64.td, llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! remove mayLoad/mayStore as suggested by Kerry
DeltaFile
+0-5llvm/lib/Target/AArch64/AArch64InstrFormats.td
+1-1llvm/include/llvm/IR/IntrinsicsAArch64.td
+1-62 files

LLVM/project 3fde46fclang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/test/CodeGen/AArch64 pcdphint-atomic-store.c

fixup! Ensure stshh always immediately precedes a store instruction
DeltaFile
+82-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+50-13clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
+62-0llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+20-26clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+15-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+8-3llvm/lib/Target/AArch64/AArch64InstrFormats.td
+237-423 files not shown
+248-499 files

LLVM/project b52f728clang/include/clang/Basic BuiltinsAArch64.def, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup!

More small issues tidied, and remove gating.
DeltaFile
+6-2clang/test/Sema/AArch64/pcdphint-atomic-store.c
+2-2clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+1-1clang/lib/Sema/SemaARM.cpp
+1-1clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
+1-1clang/include/clang/Basic/BuiltinsAArch64.def
+0-2clang/lib/Headers/arm_acle.h
+11-96 files

LLVM/project f0ffa65clang/lib/Sema SemaARM.cpp, llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64ExpandPseudoInsts.cpp

fixup! Small fixes Kerry has suggested
DeltaFile
+112-40llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+7-11clang/lib/Sema/SemaARM.cpp
+7-9llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+1-1llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+127-614 files

LLVM/project 27f2763clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/lib/Sema SemaARM.cpp

fixup! Move code to `AArch64ExpandPseudoInsts` and `getTgtMemIntrinsic`

Move code to `AArch64ExpandPseudoInsts` and `getTgtMemIntrinsic`
and use tablegen pattern for intrinsic, plus other small review changes.
DeltaFile
+47-75llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+69-32llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+42-47clang/lib/Sema/SemaARM.cpp
+21-12llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+10-12llvm/lib/Target/AArch64/AArch64InstrInfo.td
+17-5clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+206-1835 files not shown
+220-19211 files

LLVM/project e2cecd1llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

fixup! Fix tests
DeltaFile
+2-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-01 files

LLVM/project 8b47275clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup! Fix issues Kerry raised in PR
DeltaFile
+10-23clang/lib/Sema/SemaARM.cpp
+16-11clang/test/Sema/AArch64/pcdphint-atomic-store.c
+5-12clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+1-5clang/include/clang/Basic/DiagnosticSemaKinds.td
+32-514 files

LLVM/project 5e7535dclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/CodeGen/TargetBuiltins ARM.cpp

fixup! Improve error diagnostics, and other cleanups
DeltaFile
+12-0llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll
+4-2clang/lib/Sema/SemaARM.cpp
+2-1clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+2-0clang/lib/Headers/arm_acle.h
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/test/Sema/AArch64/pcdphint-atomic-store.c
+22-56 files

LLVM/project 4cf50c5clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/lib/Sema SemaARM.cpp

[AArch64][clang][llvm] Add ACLE `stshh` atomic store builtin

Add `__arm_atomic_store_with_stshh` implementation as defined
in the ACLE. Validate that the arguments passed are correct, and
lower it to the stshh intrinsic plus an atomic store with the
allowed orderings.

Gate this on FEAT_PCDPHINT so that availability matches
hardware support for the `STSHH` instruction. Use an i64
immediate and side-effect modeling to satisfy tablegen and decoding.
DeltaFile
+140-0clang/lib/Sema/SemaARM.cpp
+48-0clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+31-0clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
+29-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+13-0llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+10-2llvm/lib/Target/AArch64/AArch64InstrFormats.td
+271-25 files not shown
+298-211 files

LLVM/project 974c9d1clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/test/Sema/AArch64 pcdphint-atomic-store.c

fixup!

A few small tidyups
DeltaFile
+7-6clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+4-4llvm/lib/Target/AArch64/AArch64InstrFormats.td
+4-0clang/test/Sema/AArch64/pcdphint-atomic-store.c
+15-103 files

LLVM/project 6f736e2llvm/lib/Target/Hexagon Hexagon.td, llvm/test/CodeGen/Hexagon v81-early-arch-features.ll

[Hexagon] Add missing early architecture features to V81 processor (#183499)

V81 was missing ArchV5, ArchV55, ArchV60, and ArchV62 in its feature
list, causing instructions requiring these architecture versions to fail
during compilation.
DeltaFile
+16-0llvm/test/CodeGen/Hexagon/v81-early-arch-features.ll
+2-2llvm/lib/Target/Hexagon/Hexagon.td
+18-22 files

LLVM/project d161a22llvm/lib/Target/AMDGPU SIInstructions.td SIInstrInfo.td, llvm/test/CodeGen/AMDGPU llvm.fptrunc.round.ll

[AMDGPU] lower fptrunc.round(rtz) to cvt_pkrtz_f16_f32  (#177069)

Lower fptrunc.round(rtz) to cvt_pkrtz_f16_f32 and remove setreg
DeltaFile
+56-8llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
+17-2llvm/lib/Target/AMDGPU/SIInstructions.td
+5-2llvm/lib/Target/AMDGPU/SIInstrInfo.td
+78-123 files

LLVM/project 5de9285libcxx/docs/ReleaseNotes 22.rst, libcxx/include __tree

[libc++] Introduce a escape hatch for the changed behavior of map and set search operations (#183190)

In #155245, we implemented an optimization to std::map and std::set
search operations. That optimization took advantage of something that is
guaranteed by the Standard, namely that the comparator provided to the
associative container is a valid strict weak ordering.

Sadly, some code in the wild did not satisfy this requirement, such as
Boost.ICL: boostorg/icl#51

Since this can have extremely tricky runtime consequences, this patch
introduces a temporary escape hatch for the LLVM 22 release that allows
reverting to the previous behavior. It also explicitly calls out the
change in the release notes, adds some regression tests and adds debug
mode support for catching some of these invalid predicates.

Fixes #183189
DeltaFile
+151-0libcxx/test/libcxx/containers/associative/lower_upper_bound_non_strict_weak_order.pass.cpp
+130-0libcxx/test/libcxx/containers/associative/debug.non-strict-weak-ordering.pass.cpp
+50-0libcxx/include/__tree
+14-2libcxx/include/__utility/lazy_synth_three_way_comparator.h
+7-0libcxx/docs/ReleaseNotes/22.rst
+352-25 files

OPNSense/plugins ac6d362www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms general.xml dialogHandle.xml

www/caddy: Remove CDATA in help texts, fix some typos, remove links, add one missing selectpicker style (#5261)

DeltaFile
+41-41www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/general.xml
+40-40www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHandle.xml
+19-19www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4.xml
+15-15www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml
+10-10www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml
+7-7www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogAccessList.xml
+132-1322 files not shown
+140-1408 files

OPNSense/plugins e1ff5c9www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy reverse_proxy.volt

www/caddy: Remove add handler shortcut command (#5260)

The add handler shortcut button needed multiple workarounds and still broke regularly due to subtle race conditions.
DeltaFile
+17-70www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/reverse_proxy.volt
+17-701 files

LLVM/project 6df45edllvm/lib/Target/AMDGPU VOP3Instructions.td, llvm/test/CodeGen/AMDGPU fix-sgpr-copies-sgpr32-to-vgpr16.ll llvm.amdgcn.cvt.fp8.ll

[AMDGPU][True16] change vdst_in regclass and remove opsel for cvt_pk_f8_fp32 pattern (#179995)

Two changes:

1. int_amdgcn_cvt_pk_fp/bf8_f32 takes a i32 as a tied input, and this
tied input is passed to cvt_pk_f8_fp32 as a tied vdst_in. In true16 mode
the vdst_in is in vgpr16. Since this i32 could be in sreg32, need to
copy it to vgpr32 first before extract_subreg.

2. remove SRCMODS.DST_OP_SEL from cvt_pk_f8_fp32 pattern in true16 mode.
The opsel is not needed since the hi/lo16 will be clobbered by the
following register rewrite/allocation pass and this const opsel causes
conflictions
DeltaFile
+124-0llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-sgpr32-to-vgpr16.ll
+12-8llvm/lib/Target/AMDGPU/VOP3Instructions.td
+6-6llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.e5m3.ll
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
+145-175 files

LLVM/project df2f346flang/include/flang/Semantics expression.h

[flang] Silence build warning (#183393)

Add a [[maybe_unused]] to a parameter of a function with several
constexpr ifs, some of whose branches don't use the parameter.
DeltaFile
+2-1flang/include/flang/Semantics/expression.h
+2-11 files

LLVM/project 8bae572flang/lib/Evaluate check-expression.cpp, flang/test/Semantics bug2292.f90

[flang] Fix crash on error case (#183338)

A named constant implicit-shape array with a non-constant lower bound is
an error case. Emit an error message rather than crashing.
DeltaFile
+9-4flang/lib/Evaluate/check-expression.cpp
+5-0flang/test/Semantics/bug2292.f90
+14-42 files