LLVM/project 743cd53llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.cvt.scalef32.sr.ll

[AMDGPU][GlobalIsel] Add regbank support for amdgcn_cvt_scalef32_sr_f8_f16/32 (#197031)

This patch adds register bank legalization rules for amdgcn_cvt_scalef32_sr_f8_f16/32 intrinsics in the AMDGPU GlobalISel
pipeline.
DeltaFile
+8-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
+9-12 files

LLVM/project ab0178cllvm/lib/Transforms/IPO ExpandVariadics.cpp, llvm/test/CodeGen/NVPTX convert-call-to-indirect.ll

[ExpandVariadics] Fixup handeling of mismatched return types (#198843)

Fix an assert when RAUW tries to replace all uses with a different type.
DeltaFile
+75-53llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
+15-10llvm/lib/Transforms/IPO/ExpandVariadics.cpp
+90-632 files

LLVM/project 72871f6libcxx/include __tree, libcxx/test/std/containers/associative/multimap/multimap.modifiers extract_key.pass.cpp

[libc++] Fix multi{map,set}::extract not returning the first matching element (#199703)

According to [associative.reqmts] `extract(k)` returns the _first_
element in the container with key equivalent to k.
DeltaFile
+13-0libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
+13-0libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
+2-2libcxx/include/__tree
+28-23 files

LLVM/project 9092493clang/lib/Sema SemaExprCXX.cpp, clang/test/CXX/expr/expr.prim/expr.prim.this p4.cpp

[Clang][Sema] Use correct DeclContext when checking 'this' (#163243)

As mentioned in #163089, clang crashes for the following inputs:

```cpp
struct S {
    static void f() {
        auto x = []() -> decltype(this) {};
    }
};
```

```cpp
struct S {
    static void f() {
        auto x = []() noexcept(decltype(this)()) {};
    }
};
```

    [6 lines not shown]
DeltaFile
+65-0clang/test/CXX/expr/expr.prim/expr.prim.this/p4.cpp
+1-1clang/lib/Sema/SemaExprCXX.cpp
+66-12 files

LLVM/project 0aa9ec6llvm/lib/Transforms/InstCombine InstCombineVectorOps.cpp InstCombineInternal.h, llvm/test/Transforms/InstCombine fold-zext-of-deinterleave.ll

[InstCombine] Fold zext into de-interleaving (factor=2) instructions (#195330)

Given the following de-interleaving shufflevectors and the consuming
zexts:
```
%f0 = shufflevector <8 x i32> %v, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
%f1 = shufflevector <8 x i32> %v, <4 x i32> <i32 1, i32 3, i32 5, i32 7>
%z0 = zext <4 x i32> %f0 to <4 x i64>
%z1 = zext <4 x i32> %f1 to <4 x i64>
```
We can actually bitcast the input value, `%v`, first into a vector type
with double the element size but half the vector length, before
replacing zexts with simple arithmetics on this new bitcast:
```
%bc = bitcast <8 x i32> %v to <4 x i64>
%z0 = and <4 x i64> %bc, splat (i64 4294967295)
%z1 = lshr <4 x i64> %bc, splat (i64 32)
```
This transformation is almost always benefitial as shufflevector is
generally more expensive than normal arithmetics.
DeltaFile
+210-0llvm/test/Transforms/InstCombine/fold-zext-of-deinterleave.ll
+142-0llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
+6-4llvm/test/Transforms/InstCombine/ARM/mve-narrow.ll
+3-0llvm/lib/Transforms/InstCombine/InstCombineInternal.h
+3-0llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
+364-45 files

LLVM/project 3613e27clang/lib/Sema SemaLifetimeSafety.h, clang/test/Sema warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp warn-lifetime-safety-misplaced-lifetimebound-macro.cpp

[LifetimeSafety] Add fix-it for misplaced lifetimebound attributes (#199149)

This patch adds a fix-it hint for
`warn_lifetime_safety_intra_tu_misplaced_lifetimebound` and
`warn_lifetime_safety_cross_tu_misplaced_lifetimebound` to the
appropriate declaration.

The fix-it attribute is emitted in the correct location, accounting for
pure virtual functions, overrides, trailing return types, and default
arguments. The message is suppressed for macros.

Resolves #198634
DeltaFile
+77-39clang/lib/Sema/SemaLifetimeSafety.h
+73-12clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
+26-0clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-macro.cpp
+19-4clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
+195-554 files

FreeBSD/ports 61d404dmail/mailpit distinfo Makefile, mail/mailpit/files patch-package-lock.json patch-package.json

mail/mailpit: Update to 1.30.1
DeltaFile
+204-204mail/mailpit/files/patch-package-lock.json
+7-7mail/mailpit/distinfo
+2-2mail/mailpit/files/patch-package.json
+1-1mail/mailpit/Makefile
+214-2144 files

LLVM/project 41b403eflang/include/flang/Optimizer/Dialect FIROps.td, flang/lib/Optimizer/Dialect FIROps.cpp

rebase
DeltaFile
+46-22flang/lib/Optimizer/Dialect/FIROps.cpp
+7-5flang/include/flang/Optimizer/Dialect/FIROps.td
+53-272 files

FreeBSD/ports 892d517security/vuxml/vuln 2026.xml

security/vuxml: Report mailpit vulnerability
DeltaFile
+28-0security/vuxml/vuln/2026.xml
+28-01 files

FreeNAS/freenas 9bdfadcsrc/middlewared/middlewared/plugins/enclosure_ nvme2.py

NAS-141181 / 26.0.0-RC.1 / fix vseries rear nvme bay mapping (by yocalebo) (#19031)

When this platform is fully populated a pci device can hang off root
port tree causing the existing logic for mapping the rear nvme bays to
be off by 1. This changes the logic to map similar to what was done in
5cd50ecebf5aa679e06f71d54177176ecf2a7a98

Original PR: https://github.com/truenas/middleware/pull/19026

---------

Co-authored-by: caleb <yocalebo at gmail.com>
DeltaFile
+78-28src/middlewared/middlewared/plugins/enclosure_/nvme2.py
+78-281 files

LLVM/project c26bf25llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll gfx-callable-argument-types.ll

no ERR suffix

Created using spr 1.3.7
DeltaFile
+7,498-6,528llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+1,502-1,500llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+17,435-16,4681,497 files not shown
+81,850-42,1271,503 files

FreeNAS/freenas c619639src/middlewared/middlewared/plugins/enclosure_ nvme2.py

NAS-141181 / 27.0.0-BETA.1 / fix vseries rear nvme bay mapping (#19026)

When this platform is fully populated a pci device can hang off root
port tree causing the existing logic for mapping the rear nvme bays to
be off by 1. This changes the logic to map similar to what was done in
5cd50ecebf5aa679e06f71d54177176ecf2a7a98
DeltaFile
+78-28src/middlewared/middlewared/plugins/enclosure_/nvme2.py
+78-281 files

FreeBSD/src 0a02a47sys/amd64/amd64 machdep.c support.S

x86: for wrmsr_early_safe(), catch all exceptions, not only #GP

Reviewed by:    olce
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D57264
DeltaFile
+15-9sys/amd64/amd64/machdep.c
+3-4sys/amd64/amd64/support.S
+18-132 files

LLVM/project eb6215aclang/lib/Basic/Targets AArch64.cpp AArch64.h, clang/lib/Sema SemaARM.cpp

fixup! Address PR comments
DeltaFile
+63-110clang/lib/Basic/Targets/AArch64.cpp
+8-2clang/lib/Sema/SemaARM.cpp
+3-5llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
+1-4clang/lib/Basic/Targets/AArch64.h
+75-1214 files

LLVM/project 298e490llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll accvgpr-spill-scc-clobber.mir

Merge branch 'main' into users/ilovepi/rv64-asmparse
DeltaFile
+7,612-6,640llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,268-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+24,315-15,0922,353 files not shown
+121,553-49,2452,359 files

FreeBSD/src 95fc64cusr.sbin/ctld kernel.cc

ctld: More consistent error messages

The error messages ctld emits when it finds a port or LUN it did not
create were inconsistent with each other as well as with ctld's other
error messages.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.
Reviewed by:    jhb
Differential Revision:  https://reviews.freebsd.org/D57270
DeltaFile
+5-5usr.sbin/ctld/kernel.cc
+5-51 files

LLVM/project f1c26bclibc/src/__support/wctype wctype_conversion_utils.cpp wctype_conversion_utils.h, libc/src/wctype towlower.cpp towupper.cpp

[libc] Implement towupper and towlower entrypoints (#198659)

Following up on #187670 to add public entrypoints for the wctype
conversion functions.

Assisted-by: Automated tooling, human reviewed.

---------

Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
DeltaFile
+85-0libc/test/src/wctype/towupper_test.cpp
+85-0libc/test/src/wctype/towlower_test.cpp
+46-0libc/src/__support/wctype/wctype_conversion_utils.cpp
+34-0libc/src/__support/wctype/wctype_conversion_utils.h
+27-0libc/src/wctype/towlower.cpp
+27-0libc/src/wctype/towupper.cpp
+304-015 files not shown
+468-921 files

LLVM/project f5119d7flang/include/flang/Optimizer/Dialect FIROps.td FIROps.h, flang/lib/Optimizer/Dialect FIROps.cpp

[flang][mem2reg] promote memory slots through declares
DeltaFile
+195-16flang/test/Fir/mem2reg.mlir
+87-24flang/lib/Optimizer/Dialect/FIROps.cpp
+9-4flang/include/flang/Optimizer/Dialect/FIROps.td
+1-0flang/include/flang/Optimizer/Dialect/FIROps.h
+292-444 files

LLVM/project 218a21cllvm/utils/gn/build BUILD.gn, llvm/utils/gn/secondary/compiler-rt/lib/builtins BUILD.gn

[gn build] Format all files (#200226)

$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
DeltaFile
+6-6llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+6-5llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
+5-4llvm/utils/gn/build/BUILD.gn
+5-3llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
+2-2llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
+2-2llvm/utils/gn/secondary/llvm/lib/ABI/BUILD.gn
+26-226 files not shown
+35-3012 files

LLVM/project 58e35f9llvm/utils/gn/secondary/compiler-rt/lib/builtins BUILD.gn, llvm/utils/gn/secondary/llvm/lib/Support BUILD.gn

[gn build] Port commits (#200224)

Ported commits:

- 174eb79572b3

- e1e52c9ccef3
DeltaFile
+8-0llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
+9-02 files

LLVM/project 934e561libc/src/inttypes strtoimax.cpp, libc/src/stdlib strtoull_l.cpp

[libc] Don't touch str_end in strto* and wcsto* functions when base is incorrect (#200073)

Updates the behavior of `stro*` and `wcsto*` endpoints to not touch
`str_end` pointer when the provided value of `base` is incorrect and
errno is set to `EINVAL`.

`strto*` and `wcsto*` functions accept `base` as an input argument,
which can only be 0 or lie in [2,36] range. In case of invalid argument,
the functions should return 0 and set errno accordingly. Should the
"output argument" of `str_end` be updated in this case to point to the
beginning of the input string?
* C standard is unclear about it -
is says that `str` should be stored in `str_end` **if `str` is empty or
does not have the expected form** -- but there is no "expected form" for
invalid base values.
* POSIX standard explicitly mentions that for incorrect base value errno
should be set to `EINVAL` and points out that the value of `str_end`
is **unspecified** in this case.


    [10 lines not shown]
DeltaFile
+4-1libc/test/src/wchar/WcstolTest.h
+4-1libc/test/src/stdlib/StrtolTest.h
+2-2libc/test/src/stdlib/strtoint64_test.cpp
+2-2libc/test/src/stdlib/strtoint32_test.cpp
+1-1libc/src/stdlib/strtoull_l.cpp
+1-1libc/src/inttypes/strtoimax.cpp
+14-812 files not shown
+26-2018 files

LLVM/project 016b2b2clang/include/clang/AST DeclTemplate.h, clang/lib/AST DeclTemplate.cpp

[clang] fix getTemplateInstantiationArgs

This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the template
context of out-of-line definitions.

This greatly simplifies the signature of that function, by removing a bunch
of workarounds, and simpliffying a couple that weren't removed yet.

Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.

Also makes the explicit specialization AST nodes stop abusing the template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.
DeltaFile
+194-429clang/lib/Sema/SemaTemplateInstantiate.cpp
+257-164clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+151-147clang/lib/Sema/SemaTemplate.cpp
+96-95clang/include/clang/AST/DeclTemplate.h
+59-129clang/lib/Sema/SemaConcept.cpp
+60-92clang/lib/AST/DeclTemplate.cpp
+817-1,05652 files not shown
+1,453-1,70658 files

LLVM/project 7e539a4llvm/lib/Transforms/Vectorize VPlanAnalysis.cpp VPlan.h

[VPlan] Thread scalar types through VPWiden(Cast)Recipe. (NFC) (#199572)

Update VPWidenRecipe and VPWidenCastRecipe to populate
VPSingleDefValue's
scalar type. For all VPWidenRecipe opcodes, the scalar type is determine
from the operands, via computeScalarTypeForInstruction (from
https://github.com/llvm/llvm-project/pull/199378).
For cast, the type must be provided explicitly.

Depends on https://github.com/llvm/llvm-project/pull/199378

PR: https://github.com/llvm/llvm-project/pull/199572
DeltaFile
+2-46llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
+6-3llvm/lib/Transforms/Vectorize/VPlan.h
+6-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+5-1llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
+0-2llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
+19-535 files

LLVM/project b76d08allvm/lib/Target/RISCV RISCVSchedSiFiveP400.td RISCVSchedSiFive8.td

[RISCV] Factor out common scheduling model part between SiFive P400 and P500. NFCI (#199796)

This is the first part a patch series that tries to factor out common
bits from the SiFiveP400, SiFiveP500, and the SiFiveP600 scheduling
models.

This PR contains the related changes on the SiFiveP400 and SiFiveP500
models

NFCI.

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>
DeltaFile
+95-793llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
+846-0llvm/lib/Target/RISCV/RISCVSchedSiFive8.td
+36-299llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
+977-1,0923 files

FreeBSD/ports 56b0347misc/gwhich Makefile distinfo

misc/gwhich: update GNU which to the latest version 2.25

- Bug fix for an out of bounds stack read (by Daniel Anderson)
- Scripts regenerated with automake 1.18.1 and autoconf 2.73
- Install a bunch of documentation files and convert EXAMPLES
  option into DOCS (one file does not warrant this separation)
- While here, provide a more sensible and useful COMMENT text

Reported by:    portscout
DeltaFile
+7-7misc/gwhich/Makefile
+3-3misc/gwhich/distinfo
+10-102 files

LLVM/project fe16603clang/include/clang/AST DeclTemplate.h, clang/lib/AST DeclTemplate.cpp

[clang] fix getTemplateInstantiationArgs

This implements a new strategy for collecting the template arguments, by
relying on the qualifiers and template parameter lists to navigate the template
context of out-of-line definitions.

This greatly simplifies the signature of that function, by removing a bunch
of workarounds, and simpliffying a couple that weren't removed yet.

Since this now relies on qualifiers and template parameter lists,
this patch expends most of its effort making sure these are placed,
transformed and propagated to template instantiations.

Also makes the explicit specialization AST nodes stop abusing the template
parameter lists by storing it's own template parameter list, creating a
dedicated field for them, similar to partial specializations.
DeltaFile
+194-429clang/lib/Sema/SemaTemplateInstantiate.cpp
+257-164clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+151-147clang/lib/Sema/SemaTemplate.cpp
+96-95clang/include/clang/AST/DeclTemplate.h
+59-129clang/lib/Sema/SemaConcept.cpp
+60-92clang/lib/AST/DeclTemplate.cpp
+817-1,05651 files not shown
+1,453-1,70457 files

LLVM/project e689a6allvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll accvgpr-spill-scc-clobber.mir

Rebase, small improvements

Created using spr 1.3.7
DeltaFile
+7,612-6,640llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+8,268-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+2,501-2,502llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,151-2,154llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+1,981-1,979llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,802-1,805llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+24,315-15,0922,326 files not shown
+126,782-55,5262,332 files

LLVM/project 2622888clang/lib/Parse ParseExprCXX.cpp, clang/test/C/C2y n3267.c

add support for GNU attributes
DeltaFile
+16-0clang/test/C/C2y/n3267.c
+9-0clang/lib/Parse/ParseExprCXX.cpp
+25-02 files

LLVM/project f505ceaclang/include/clang/AST DeclTemplate.h, clang/lib/Sema SemaTemplate.cpp SemaDecl.cpp

[clang] fix member specializations of class and variable partial specializations (#200092)

A partial specialization may be a member specialization even if there is
no corresponding primary member partial specialization.

For example:
```C++
template<class> struct X {
  template<class> struct Inner;
};
template<> template<class T>
struct X<int>::Inner<T*> {};
```

Make sure this state is represented, so that
[temp.spec.partial.member]p2 can be applied.

Split off from #199528
DeltaFile
+12-16clang/lib/Sema/SemaTemplate.cpp
+9-6clang/lib/Sema/SemaDecl.cpp
+12-0clang/test/SemaTemplate/class-template-spec.cpp
+4-6clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
+4-4clang/include/clang/AST/DeclTemplate.h
+3-4clang/lib/Sema/SemaTemplateInstantiate.cpp
+44-362 files not shown
+47-408 files

LLVM/project 839091flldb/include/lldb/Host/windows LazyImport.h, lldb/source/Plugins/Process/Windows/Common NativeThreadWindows.cpp TargetThreadWindows.cpp

[lldb-server][Windows] add support for thread name (#199983)
DeltaFile
+42-0lldb/include/lldb/Host/windows/LazyImport.h
+39-0lldb/test/API/windows/thread/TestThreadName.py
+18-8lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
+6-13lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
+16-0lldb/test/API/windows/thread/main.c
+3-0lldb/test/API/windows/thread/Makefile
+124-216 files