LLVM/project 13034efllvm/lib/Transforms/ObjCARC ObjCARCContract.cpp, llvm/test/Transforms/ObjCARC contract-replace-arg-use.ll

[ObjcARCContract] Do not replace llvm.lifetime argument. (#216991)

Only alloca or poison is allowed as arguments for lifetime intrinsics.
Before replacing, check if the operand can be replaced with a variable
and skip replacement if it is not valid.

Fixes a verifier crash in the added test case.

PR: https://github.com/llvm/llvm-project/pull/216991
DeltaFile
+23-0llvm/test/Transforms/ObjCARC/contract-replace-arg-use.ll
+5-0llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
+28-02 files

LLVM/project 574efafflang/lib/Lower Bridge.cpp, flang/test/Lower/OpenACC acc-loop-directive-annotation.f90

Merge branch 'main' into users/ellishg/lld-macho-eh-frame-test
DeltaFile
+362-151llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
+318-0libc/test/src/stdio/freopen_test.cpp
+56-162flang/lib/Lower/Bridge.cpp
+180-0flang/test/Lower/OpenACC/acc-loop-directive-annotation.f90
+179-0llvm/unittests/Analysis/MLGOUtilsTest.cpp
+163-14libc/src/__support/File/linux/file.cpp
+1,258-32796 files not shown
+3,349-586102 files

FreeBSD/src 0256ea4sbin/nvmecontrol power.c, sbin/nvmecontrol/modules/wdc wdc.c

nvmecontrol: Add SPDX-License-Identifier tags

Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55275

(cherry picked from commit f8517c21d57f1db005c0d15e14d16252e8e4bfd0)
DeltaFile
+2-0sbin/nvmecontrol/power.c
+2-0sbin/nvmecontrol/modules/wdc/wdc.c
+4-02 files

FreeBSD/src 228b410usr.sbin/bhyve/amd64 atkbdc.h

bhyve: Add SPDX-License-Identifier tag

Reviewed by: emaste
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 499d0f04f55e52327d624d27ead3a0d16e3b465a)
DeltaFile
+2-0usr.sbin/bhyve/amd64/atkbdc.h
+2-01 files

FreeBSD/src ef55753sbin/decryptcore decryptcore.c

decryptcore: Add SPDX-License-Identifier tag

Reviewed by: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55270

(cherry picked from commit 299d3e944a15cbffc8ed16a49869e1eaec1fb493)
DeltaFile
+2-0sbin/decryptcore/decryptcore.c
+2-01 files

LLVM/project 883f75bclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGen union-agg-init.c local-const-aggregate-name-clash.cpp

[CIR] Set alignment correctly in getOrCreateConstAggregateGlobal (#216321)

Just a drive-by that I discovered while debugging something else, we end
up not getting the 'alignment' of these aggregates set at all. This
patch just wires through the alloca's alignment onto these constants,
which matches classic codegen.
DeltaFile
+8-8clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+6-6clang/test/CIR/CodeGen/local-const-aggregate-name-clash.cpp
+3-3clang/test/CIR/CodeGen/union-agg-init.c
+17-173 files

LLVM/project 01c479cllvm/lib/CodeGen ImplicitNullChecks.cpp

Append 'Impl' to passname.
DeltaFile
+26-27llvm/lib/CodeGen/ImplicitNullChecks.cpp
+26-271 files

LLVM/project 81aa409llvm/include/llvm/CodeGen ImplicitNullChecks.h

Update ImplicitNullChecks.h

Fix header comment.
DeltaFile
+1-1llvm/include/llvm/CodeGen/ImplicitNullChecks.h
+1-11 files

LLVM/project 57fdc0dflang/lib/Semantics check-acc-structure.cpp, flang/test/Semantics/OpenACC acc-update-validity.f90

[flang][openacc] Raise an error when UPDATE directive is in compute region (#217090)

This is in line with the reference compiler.
DeltaFile
+63-0flang/test/Semantics/OpenACC/acc-update-validity.f90
+2-0flang/lib/Semantics/check-acc-structure.cpp
+65-02 files

LLVM/project e297b4flibc/src/__support/File file.h, libc/src/__support/File/linux file.cpp

[libc] Implement freopen (#207837)

Add implementation of freopen. This involved some refactoring of the
internal FILE. Currently it's only implemented for linux, despite being
a C standard function. This is because POSIX adds several features and
ties the implementation tightly to the concept of file descriptors.
Other platforms will need separate implementations.

Needed for #191075

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+318-0libc/test/src/stdio/freopen_test.cpp
+163-14libc/src/__support/File/linux/file.cpp
+43-0libc/src/stdio/generic/freopen.cpp
+30-0libc/test/src/stdio/CMakeLists.txt
+27-0libc/src/stdio/freopen.h
+21-0libc/src/__support/File/file.h
+602-148 files not shown
+637-1614 files

FreeBSD/src cd9810fsys/dev/sound/pci vibes.c csavar.h, sys/dev/sound/pcm dsp.c

sound: Use unsigned long instead of legacy u_long

No functional change intended.

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week

(cherry picked from commit afe56ee24679d6584acf02dd17f6ed52c052abe7)
DeltaFile
+22-21sys/dev/sound/pci/csapcm.c
+12-10sys/dev/sound/pci/csa.c
+6-6sys/dev/sound/pci/csavar.h
+3-3sys/dev/sound/pcm/dsp.c
+3-2sys/dev/sound/usb/uaudio.c
+3-2sys/dev/sound/pci/vibes.c
+49-446 files not shown
+61-5412 files

LLVM/project ab54709llvm/cmake/modules MLGOLower.cmake, llvm/include/llvm/Analysis EmitCModelRunner.h

[MLGO] Model selection for models lowered through EmitC (#212650)

This adds support for lowering models through an MLIR based pipeline and
selecting between one or more of them. It creates the `-mlgo-model` CLI
flag in `MLInlineAdvisor` to select between available models which are
configured through the `LLVM_MLGO_MODELS` build flag.
DeltaFile
+179-0llvm/unittests/Analysis/MLGOUtilsTest.cpp
+143-0llvm/cmake/modules/MLGOLower.cmake
+82-0llvm/include/llvm/Analysis/Utils/MLGOUtils.h
+59-13llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
+53-15llvm/lib/Analysis/MLInlineAdvisor.cpp
+66-0llvm/include/llvm/Analysis/EmitCModelRunner.h
+582-2821 files not shown
+724-6127 files

LLVM/project fc6e9eaclang-tools-extra/clang-tidy/readability EnumInitialValueCheck.cpp, clang-tools-extra/docs/clang-tidy/checks/readability enum-initial-value.rst

[clang-tidy] Add AllowReferencedInitialValues to `readability-enum-initial-value` (#189459)

Add a new `AllowReferencedInitialValues` option to the
`readability-enum-initial-value` check.
When enabled, enumerators initialized by referencing another enumerator
in the same enum (e.g., `last = first`) are allowed, and the remaining
enumerators are checked for consistency.

This **implements** the `INT09-C-EX1` exception from the [CERT C Coding
Standard](https://wiki.sei.cmu.edu/confluence/spaces/c/pages/87152467/INT09-C.+Ensure+enumeration+constants+map+to+unique+values#INT09C.Ensureenumerationconstantsmaptouniquevalues-Exceptions).

The option defaults to `false` to preserve existing behavior.

Example:
```cpp
// OK when AllowReferencedInitialValues is true.
enum E {
 first,
 second,

    [7 lines not shown]
DeltaFile
+79-0clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs-combined.c
+61-17clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
+52-0clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs.c
+37-0clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value-allow-refs.cpp
+17-0clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
+14-0clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
+260-173 files not shown
+278-179 files

LLVM/project f6b0fa8lld/test/MachO eh-frame.s, lld/test/MachO/Inputs eh-frame-x86_64-r.o eh-frame-arm64-r.o

[LLD][MachO] Remove eh-frame test binaries
DeltaFile
+819-12lld/test/MachO/eh-frame.s
+0-0lld/test/MachO/Inputs/eh-frame-x86_64-r.o
+0-0lld/test/MachO/Inputs/eh-frame-arm64-r.o
+819-123 files

FreeBSD/ports fb85927graphics/clang-uml distinfo Makefile, graphics/clang-uml/files patch-CMakeLists.txt

graphics/clang-uml: Update 0.6.2 => 0.6.3

Summary: * Pet portclippy(1) and portfmt(1)

Approved by:            arrowd@ (maintainer)
Approved by:            db@, yuri@ (Mentors, implicit)
Differential Revision:  https://reviews.freebsd.org/D58918
DeltaFile
+0-16graphics/clang-uml/files/patch-CMakeLists.txt
+6-7graphics/clang-uml/Makefile
+3-3graphics/clang-uml/distinfo
+9-263 files

LLVM/project 5146250clang/include/clang/Lex HeaderSearch.h, clang/lib/Lex HeaderSearch.cpp

[clang][lex] Deduplicate `-Wheader-shadowing` diags (#216748)

The `-Wheader-shadowing` diagnostic emits duplicate diagnostics. This PR
deduplicates these diagnostics by caching the check per file name.
DeltaFile
+39-0clang/test/Preprocessor/header-shadowing-dedup.c
+22-15clang/lib/Lex/HeaderSearch.cpp
+11-1clang/test/Preprocessor/header-shadowing.c
+9-2clang/include/clang/Lex/HeaderSearch.h
+81-184 files

LLVM/project 2c42a6bllvm/lib/Target/AMDGPU GCNSubtarget.h GCNSubtarget.cpp, llvm/test/CodeGen/AMDGPU swp-amdgpu-pipeline-max-mii.ll swp-amdgpu-pipeline-regpressure-retry.mir

[AMDGPU] Configure the software pipeliner policy

Set the pipeliner policy in overridePipelinerPolicy(): raise the maximum MII
and opt into the generic register-pressure detector.

MFMA latencies push the MII of otherwise pipelineable loops past the generic
limit of 27, so AMDGPU raises it to 256, which covers the II distributions
observed across Composable Kernels and Triton workloads on gfx950. Removing
the limit entirely pipelines no additional loops on those workloads and costs
around 23% more compile time, so the bound stays finite.

Enable the generic register-pressure detector so schedules exceeding the
target-provided pressure-set limits are rejected and retried at a higher II.
DeltaFile
+181-0llvm/test/CodeGen/AMDGPU/swp-amdgpu-pipeline-regpressure-retry.mir
+5-5llvm/test/CodeGen/AMDGPU/swp-amdgpu-pipeline-max-mii.ll
+9-0llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+2-0llvm/lib/Target/AMDGPU/GCNSubtarget.h
+197-54 files

FreeBSD/ports 02e65bfgames/vkquake pkg-plist distinfo

games/vkquake: Update 1.34.1 => 1.35.0

Notable changes:
+ Dynamic lighting if dynamic shadows set to medium+ and ray tracing GPU
+ Mods menu now shows friendly mod names
+ Bugfixes and latency improvements
+ SDL3 is now the default upstream and in port
+ Port now has pkg message detailing setup instructions
+ Port no longer installs a build artifact, vkquake.pak

PR:             296635
Approved by:    Amelia Marsh <seafork at disroot.org> (maintainer timeout)
DeltaFile
+14-0games/vkquake/pkg-message
+3-5games/vkquake/Makefile
+3-3games/vkquake/distinfo
+1-1games/vkquake/pkg-plist
+21-94 files

FreeNAS/freenas 33ce352tests/unit test_activedirectory_health.py

Fix stale-SID recovery test to match stable/26's call_sync-based restart

PR #19223 (call_sync2 migration) wasn't backported here, so
_recover_ad still restarts idmap via middleware.call_sync, not
call_sync2. Update the test to match, instead of pulling in the
unrelated migration.
DeltaFile
+4-3tests/unit/test_activedirectory_health.py
+4-31 files

LLVM/project b8ea940llvm/lib/Transforms/Vectorize LoopVectorize.cpp

Fixups
DeltaFile
+3-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-21 files

LLVM/project c974c17llvm/lib/Transforms/Vectorize VPlanConstruction.cpp

Clean up
DeltaFile
+11-14llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+11-141 files

LLVM/project 589ea23llvm/include/llvm/Analysis LoopAccessAnalysis.h, llvm/include/llvm/Transforms/Vectorize LoopVectorizationLegality.h

Rework
DeltaFile
+11-8llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+2-16llvm/lib/Analysis/LoopAccessAnalysis.cpp
+8-9llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+1-3llvm/include/llvm/Analysis/LoopAccessAnalysis.h
+3-1llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
+25-375 files

LLVM/project 1e92466llvm/test/Transforms/LoopVectorize compress-idioms.ll

Add test
DeltaFile
+112-2llvm/test/Transforms/LoopVectorize/compress-idioms.ll
+112-21 files

LLVM/project c5b1f57llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp

Fixups
DeltaFile
+4-6llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+4-61 files

LLVM/project 86b6cc1llvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize compress-idioms-negative-tests.ll compress-idioms.ll

Fixups
DeltaFile
+88-0llvm/test/Transforms/LoopVectorize/compress-idioms.ll
+44-1llvm/test/Transforms/LoopVectorize/compress-idioms-negative-tests.ll
+1-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+133-13 files

LLVM/project 247c840llvm/lib/Transforms/Vectorize VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize compress-idioms.ll

Fix crash
DeltaFile
+143-0llvm/test/Transforms/LoopVectorize/compress-idioms.ll
+9-3llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+152-32 files

LLVM/project 7e68538llvm/include/llvm/Analysis VectorUtils.h, llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp

Fixups
DeltaFile
+1-2llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+1-1llvm/include/llvm/Analysis/VectorUtils.h
+2-32 files

LLVM/project eadf890llvm/include/llvm/Transforms/Vectorize LoopVectorizationLegality.h, llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPRecipeBuilder.h

Fixups
DeltaFile
+112-118llvm/test/Transforms/LoopVectorize/compress-idioms.ll
+47-32llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+18-8llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+13-3llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
+5-0llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
+4-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+199-1616 files

LLVM/project 7bc58f2llvm/lib/Transforms/Vectorize VPlan.h VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize compress-idioms-negative-tests.ll compress-idioms.ll

Fixups
DeltaFile
+106-2llvm/test/Transforms/LoopVectorize/compress-idioms.ll
+3-32llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+0-32llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+0-9llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-2llvm/test/Transforms/LoopVectorize/compress-idioms-negative-tests.ll
+0-3llvm/lib/Transforms/Vectorize/VPlan.h
+111-806 files

LLVM/project 1e50be2llvm/lib/Transforms/Vectorize VPlanHelpers.h LoopVectorize.cpp

Remove helper
DeltaFile
+0-5llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+0-4llvm/lib/Transforms/Vectorize/VPlanHelpers.h
+0-92 files