LLVM/project 3cc48baclang/lib/Lex HeaderSearch.cpp, clang/test/Preprocessor header-shadowing-stats.c

[clang][lex] Cache stat failures in `-Wshadow-header` (#215962)

The `-Wshadow-header` warning introduced in
https://github.com/llvm/llvm-project/pull/162491 gets enabled by
`-Weverything` and causes `O(H*I*S)` extra `status()` syscalls (where H
is the number of included headers, I is the average number of inclusions
per header, S is the number of search paths). This is caused by
proactively probing search paths even after finding a suitable header,
and calling `FileManager` with `CacheFailure = false`.

There's no reason to not cache the non-existence of header files during
these probes. This PR starts caching these, bringing down the complexity
to `O(H*S)` and adds a regression test.

(cherry picked from commit 5fa5caa0f2f768af54087a3df749990c41c18a04)
DeltaFile
+22-0clang/test/Preprocessor/header-shadowing-stats.c
+2-2clang/lib/Lex/HeaderSearch.cpp
+24-22 files

LLVM/project c2347d5clang/lib/CodeGen/Targets LoongArch.cpp, clang/test/CodeGen/LoongArch abi-lp64d.c

[clang][LoongArch] Match GCC ABI handling of integer complex types (#215222)

GNU integer complex types such as `_Complex unsigned char` and `_Complex
unsigned short` were incorrectly recognized as eligible floating-point
ABI aggregates by `detectFARsEligibleStructHelper`. When used as a
member of a structure, this caused the real and imaginary parts to be
expanded into separate general-purpose argument registers.

Integer complex types are not floating-point complex types and should be
handled as ordinary aggregates. Restrict the complex-type expansion path
to elements with real floating-point types, allowing small integer
complex aggregates to be packed into a single general-purpose register,
consistent with GCC.

Fixes #214810

(cherry picked from commit 70998dbeda3a9f29b38af26e5256feeeeb20acea)
DeltaFile
+28-0clang/test/CodeGen/LoongArch/abi-lp64d.c
+6-0clang/lib/CodeGen/Targets/LoongArch.cpp
+34-02 files

LLVM/project 53c64aallvm/lib/Object GOFFObjectFile.cpp, llvm/unittests/Object GOFFObjectFileTest.cpp

[llvm][object][GOFF] refine Global flag conditions (#211632)

Currently when iterating across the symbol table with the object library (in tools like nm/ar), some symbols that we wouldn't expect to be Global to the binder get flagged as SF_Global. With GOFF, we should exclude ESD entries who's type or binding scope make them unavailable for binder to use at Global scope.

The implementation currently only filters the Section binding scopes when setting the Global flag, so this change adds filters for SD/ED type records and Module scope as well (which restricts the def to only the current module).

We also add a test that checks ESD records for various types and binding strengths to see that we get the expected values.

(cherry picked from commit 3873a4da50256649d4be843aea172fd6507aa2e8)
DeltaFile
+84-0llvm/unittests/Object/GOFFObjectFileTest.cpp
+7-1llvm/lib/Object/GOFFObjectFile.cpp
+91-12 files

LLVM/project 7e10798llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AArch64 fshr.ll fshl.ll

[AArch64] Fix cost of vector shifts with non-uniform constant amounts (#214206)

Non-uniform constants use variable shifts and require materializing the
shift vector. Account for a shift and materialization per legalized vector.
DeltaFile
+54-54llvm/test/Analysis/CostModel/AArch64/div.ll
+36-36llvm/test/Analysis/CostModel/AArch64/rem.ll
+31-0llvm/test/Analysis/CostModel/AArch64/arith.ll
+17-3llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+8-8llvm/test/Analysis/CostModel/AArch64/fshr.ll
+8-8llvm/test/Analysis/CostModel/AArch64/fshl.ll
+154-1092 files not shown
+172-1208 files

FreeBSD/ports c7edee4net-mgmt/monitoring-plugins Makefile, net-mgmt/monitoring-plugins/files patch-plugins-scripts_check__mailq.pl

net-mgmt/monitoring-plugins: Remove sudo from check_mailq

Fixes error:
/usr/local/libexec/nagios/check_mailq
Global symbol "$sudo" requires explicit package name (did you forget to declare "my $sudo"?) at /usr/local/libexec/nagios/check_mailq line 580.
Execution of /usr/local/libexec/nagios/check_mailq aborted due to compilation errors.

Upstream removed sudo for check_mailq completely in version 3.0.3.

Changes:        https://github.com/monitoring-plugins/monitoring-plugins/releases/tag/v3.0.3
PR:             297472
(cherry picked from commit 584c15e5a78c722e7aa3ebcb02f6c92d16513166)
DeltaFile
+1-1net-mgmt/monitoring-plugins/files/patch-plugins-scripts_check__mailq.pl
+1-0net-mgmt/monitoring-plugins/Makefile
+2-12 files

OPNSense/core 88dc402src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes OptionField.php

mvc: OptionField: fix simplified opt group definition

Spotted by: @Monviech
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/OptionField.php
+1-11 files

FreeBSD/ports 584c15enet-mgmt/monitoring-plugins Makefile, net-mgmt/monitoring-plugins/files patch-plugins-scripts_check__mailq.pl

net-mgmt/monitoring-plugins: Remove sudo from check_mailq

Fixes error:
/usr/local/libexec/nagios/check_mailq
Global symbol "$sudo" requires explicit package name (did you forget to declare "my $sudo"?) at /usr/local/libexec/nagios/check_mailq line 580.
Execution of /usr/local/libexec/nagios/check_mailq aborted due to compilation errors.

Upstream removed sudo for check_mailq completely in version 3.0.3.

Changes:        https://github.com/monitoring-plugins/monitoring-plugins/releases/tag/v3.0.3
PR:             297472
DeltaFile
+1-1net-mgmt/monitoring-plugins/files/patch-plugins-scripts_check__mailq.pl
+1-0net-mgmt/monitoring-plugins/Makefile
+2-12 files

LLVM/project ddda690mlir/include/mlir/Dialect/SPIRV/Transforms SPIRVConversion.h, mlir/lib/Conversion/TensorToSPIRV TensorToSPIRV.cpp

[mlir][spirv] Mark in-bounds linearized indices no-wrap (#215834)

Preserve signed and unsigned no-wrap guarantees for statically bounded
SPIR-V index linearization, allowing buffer address arithmetic to be
reassociated safely.
DeltaFile
+94-0mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
+78-5mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
+15-1mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
+6-1mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRV.cpp
+193-74 files

LLVM/project 211d021llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AArch64 neon-partial-reduce-dot-product.ll

[DAGCombiner][AArch64] Fix the multiplier when folding a partial reduction of a mask (#215187)

foldPartialReduceAdd synthesises the reduction's multiplier at the
operand's type. At i1 a splat of 1 is all ones, which sign extends to
-1, so the signed forms compute (-1) x (-1) = +1 per lane and sum to +n
where sum(sext(mask)) must be -n.

```llvm
%cmp  = icmp eq <16 x i8> %a, %b
%sext = sext <16 x i1> %cmp to <16 x i32>
%r    = call <4 x i32> @llvm.vector.partial.reduce.add(<4 x i32> %acc, <16 x i32> %sext)
```

-mattr=+neon sums to -n:

```
cmeq    v1.16b, v1.16b, v2.16b
sshll   v2.8h, v1.8b, #0
sshll2  v1.8h, v1.16b, #0

    [23 lines not shown]
DeltaFile
+216-0llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
+11-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+227-12 files

OpenBSD/src FDYfVrRetc/rc.d lldpd

   lldpd does not reload

   There's no config file or HUP handler, so 'rcctl reload lldpd' kills it.

   OK job
VersionDeltaFile
1.2+3-1etc/rc.d/lldpd
+3-11 files

OpenBSD/src 38yQwuuusr.bin/tmux tmux.h spawn.c

   When a pane is respawned, reset the control mode offsets. GitHub issue
   5498 from Alex Rattray.
VersionDeltaFile
1.66+20-1usr.bin/tmux/control.c
1.51+16-2usr.bin/tmux/spawn.c
1.1426+2-1usr.bin/tmux/tmux.h
+38-43 files

LLVM/project d520b90llvm/lib/LTO LTOBackend.cpp, llvm/test/CodeGen/AMDGPU lto-lower-module-lds.ll

[LTO] Add support for NewPM CodeGen
DeltaFile
+96-0llvm/test/CodeGen/AMDGPU/lto-lower-module-lds.ll
+81-4llvm/lib/LTO/LTOBackend.cpp
+177-42 files

LLVM/project 0182ee4clang/lib/Driver/ToolChains Clang.cpp, clang/test/CodeGenCUDA atomics-remarks-gfx90a.cu

[Clang][LTO][AMDGPU] Force disable backend NPM when GIsel is requested
DeltaFile
+25-2clang/lib/Driver/ToolChains/Clang.cpp
+22-0clang/test/Driver/hip-options.hip
+5-0clang/test/CodeGenCUDA/atomics-remarks-gfx90a.cu
+1-0clang/test/CodeGenHIP/ballot.cpp
+53-24 files

LLVM/project 6696c3ellvm/test/CodeGen/AMDGPU call-constexpr-gisel.ll call-constexpr.ll

[AMDGPU] start using new pass manager for backend codegen
DeltaFile
+310-310llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
+306-306llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
+230-230llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
+230-226llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
+0-388llvm/test/CodeGen/AMDGPU/call-constexpr.ll
+243-0llvm/test/CodeGen/AMDGPU/call-constexpr-gisel.ll
+1,319-1,460114 files not shown
+2,215-2,113120 files

LLVM/project 4489b48clang/lib/CodeGen BackendUtil.cpp, clang/test/CodeGen print-pipeline-passes-codegen.c

[Clang][CodeGen] Improve support for NPM codegen
DeltaFile
+31-6clang/lib/CodeGen/BackendUtil.cpp
+16-0clang/test/CodeGen/print-pipeline-passes-codegen.c
+47-62 files

OpenBSD/src YEsZSH4usr.bin/tmux server-fn.c

   Correctly clear clients referring to a session with destroy-unattached,
   GitHub issue 5497 from Jeong, Heon.
VersionDeltaFile
1.150+2-1usr.bin/tmux/server-fn.c
+2-11 files

OPNSense/core 34f991dsrc/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php

make sweep
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+1-11 files

LLVM/project 15ab70alibc/config/darwin/x86_64 entrypoints.txt, libc/src/__support/math CMakeLists.txt

nits
DeltaFile
+1-1libc/src/math/generic/CMakeLists.txt
+1-1libc/src/__support/math/CMakeLists.txt
+1-1libc/config/darwin/x86_64/entrypoints.txt
+3-33 files

LLVM/project 94f597corc-rt/include/orc-rt BootstrapInfo.h

[orc-rt] Add clarifying note to BootstrapInfo::CreateDefault (#216936)

NFC.
DeltaFile
+5-0orc-rt/include/orc-rt/BootstrapInfo.h
+5-01 files

NetBSD/pkgsrc HKQTJE5www/py-django-reversion Makefile

   py-django-reversion: mark as not for Python<3.12

   link to upstream ticket
VersionDeltaFile
1.41+4-1www/py-django-reversion/Makefile
+4-11 files

OpenBSD/src MBTnlCmusr.bin/tmux server.c

   Restore umask if bind fails, from nachalsa at naver dot com.
VersionDeltaFile
1.216+2-1usr.bin/tmux/server.c
+2-11 files

NetBSD/pkgsrc EETJlwctextproc/py-deepdiff PLIST Makefile

   py-deepdiff: fix PLIST for flit_core 4 and depend on it

   Add a missing test dependency, still needs another (unpackaged) one.

   Bump PKGREVISION.
VersionDeltaFile
1.30+6-5textproc/py-deepdiff/Makefile
1.13+2-1textproc/py-deepdiff/PLIST
+8-62 files

NetBSD/pkgsrc aDUlm7Omisc/py-crashtest Makefile

   py-crashtest: fix tool dependency
VersionDeltaFile
1.4+2-2misc/py-crashtest/Makefile
+2-21 files

NetBSD/pkgsrc ro8PZaxdevel/vali Makefile

   vali: fix build on NetBSD
VersionDeltaFile
1.2+3-1devel/vali/Makefile
+3-11 files

NetBSD/pkgsrc xv2VQKRdevel/ldis Makefile

   ldis: not make-jobs-safe
VersionDeltaFile
1.2+4-1devel/ldis/Makefile
+4-11 files

LLVM/project 90c0c67llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 pr215839.ll

[AArch64] Do not allow anyext load in isEquivalentMaskless (#216288)

isEquivalentMaskless tries to prove that the `and` in `cmp(and(add(x,
C1), 0xff), C2)` is redundant and can be removed, providing that the
input x is know to be a sext or zext. AFAICT it should not apply to
anyext, which could take any value.

Fixes #215839
DeltaFile
+152-0llvm/test/CodeGen/AArch64/pr215839.ll
+3-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+155-02 files

OPNSense/core ef530a4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

The return of the trailing comma
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+1-11 files

OpenBSD/src TShDCGLusr.sbin/rpki-client version.h

   Prepare for rpki-client 9.9 release
VersionDeltaFile
1.31+2-2usr.sbin/rpki-client/version.h
+2-21 files

OPNSense/core 9e176c1src/opnsense/mvc/app/controllers/OPNsense/Base ApiMutableModelControllerBase.php, src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes JsonAuditField.php

only allow serialization of JsonAuditField from persistent configuration
DeltaFile
+2-24src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php
+23-2src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/JsonAuditField.php
+25-262 files

FreeBSD/src 189ee41sys/arm64/arm64 vfp.c

arm64 vfp: eliminate nested critical sections

At two out of three call sites to vfp_restore_state_common(), the caller
must use critical_{enter,exit}() to prevent preemption between its call
to vfp_restore_state_common() and other actions, notably its call to
sve_enable().  So, it is arguably better to make
vfp_restore_state_common()'s caller responsible for performing
critical_{enter,exit}() and simply perform CRITICAL_ASSERT() inside
vfp_restore_state_common().

Reviewed by:    kib, markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D58859
DeltaFile
+3-4sys/arm64/arm64/vfp.c
+3-41 files