LLVM/project 3d7c25a — llvm/lib/Target/DirectX DirectXPassRegistry.def DirectXTargetMachine.cpp

[DirectX] Port DXILPrepareModule to NewPM

Standard NewPM pass porting.

Reviewers: bogner

Pull Request: https://github.com/llvm/llvm-project/pull/238156
DeltaFile
+181-157llvm/lib/Target/DirectX/DXILPrepare.cpp
+9-2llvm/lib/Target/DirectX/DirectX.h
+2-2llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
+1-0llvm/lib/Target/DirectX/DirectXPassRegistry.def
+193-1614 files

LLVM/project 8bcd852 — clang/docs ReleaseNotes.md, clang/lib/Driver Driver.cpp

[Clang][SYCL] Reject an unknown offload architecture on a SPIR-V target (#229249)

Diagnose an unknown `--offload-arch` on a SPIR-V target for SYCL.

Previously, with `--offload-targets=spirv64-unknown-unknown`, any
`--offload-arch` value was accepted, so a typo such as `xe-pcv` silently
created a job for a device that does not exist. For SYCL on a plain
SPIR-V target, `spirv32-unknown-unknown` or `spirv64-unknown-unknown`,
`--offload-arch` and `--no-offload-arch` must now name an Intel GPU or
CPU, an IGCA target or `generic`. Anything else is an error, as it
already is for CUDA and HIP, including a numeric name for a GPU that is
not listed, such as `xe_40.11.0`, and a name with target features, such
as `xe-pvc:foo`.

An Intel name or IGCA target is also an error on any other SPIR-V
target, e.g. "the target architecture 'igca_20ca' is not supported by
the target 'spirv64-amd-amdhsa'".
DeltaFile
+87-0clang/test/Driver/sycl-intel-gpu-arch.cpp
+44-15clang/lib/Driver/Driver.cpp
+10-0clang/test/Driver/sycl-offload-arch-igca.cpp
+5-0clang/docs/ReleaseNotes.md
+146-154 files

LLVM/project 3a047cd — .ci/lnt/llvm-test-suite machines.json, .github/workflows llvm-test-suite-run.yml

[ci] Collect profiles in the LLVM test-suite LNT runs on Linux (#237439)

Run the test-suite with `--use-perf all` on Linux, which collects
profiling data and submits it to LNT. Bump both machines since the
version of the test suite also changes.

Assisted by Claude
DeltaFile
+5-5.ci/lnt/llvm-test-suite/machines.json
+8-2.github/workflows/llvm-test-suite-run.yml
+13-72 files

LLVM/project 5ae4ee1 — llvm/lib/Analysis InlineCost.cpp, llvm/test/Transforms/Inline free-binop-cost.ll

[InlineCost] Ask TTI whether unsimplified vector and bool binops are free (#233841)

visitBinaryOperator charged every unsimplified binary operator without
consulting TTI, unlike casts, GEPs and other instructions. Return
TCC_Free from TTI::getInstructionCost as visitCastInst does.

This is an amended reland of #232397 attempting to workaround the
compile-time hit that led to the revert #232907.

It is different in two ways. First, it is now restricted to binary
operators.
Compares are left out because very few compare are currently counted as
free,
yet this is where we started to spend the majority of the queries.

Second, for binops, we query TTI only about vector and boolean
operations as this is where the majority of high-impact free operations
is.
DeltaFile
+30-0llvm/test/Transforms/Inline/free-binop-cost.ll
+9-1llvm/lib/Analysis/InlineCost.cpp
+39-12 files

FreeBSD/ports 55b92d3 — databases/py-redisvl Makefile distinfo

databases/py-redisvl: Update to 0.30.0

Changelog: https://github.com/redis/redis-vl-python/releases/tag/v0.30.0

Reported by:    portscout
DeltaFile
+3-3databases/py-redisvl/distinfo
+1-1databases/py-redisvl/Makefile
+4-42 files

FreeBSD/ports 8723a10 — multimedia/jellyfin-ffmpeg Makefile distinfo

multimedia/jellyfin-ffmpeg: Update to 8.1.3.2

Changelog:      https://github.com/jellyfin/jellyfin-ffmpeg/releases/tag/v8.1.3-2
Reviewed by:    dtxdf
Approved by:    dtxdf (mentor)
Differential Revision:  https://reviews.freebsd.org/D61165
DeltaFile
+3-3multimedia/jellyfin-ffmpeg/distinfo
+2-3multimedia/jellyfin-ffmpeg/Makefile
+5-62 files

LLVM/project dd8f586 — mlir/include/mlir/Analysis/Presburger IntegerRelation.h, mlir/lib/Analysis/Presburger IntegerRelation.cpp

[mlir][Presburger] NFC: use eliminateVarUsingEquality in existing callers

Replace the eliminateFromConstraint helper with the new
IntMatrix::eliminateColumnUsingRow / IntegerRelation::eliminateVarUsingEquality
primitives in gaussianEliminateVars, gaussianEliminate and
removeRedundantLocalVars, and delete it. Add an overload of
eliminateVarUsingEquality that takes the index of one of the relation's
own equalities as the pivot and skips that row.
DeltaFile
+27-63mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+4-0mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
+31-632 files

FreeBSD/ports 2094f47 — sysutils/py-dbuild Makefile distinfo

sysutils/py-dbuild: Update to 1.13.1

ChangeLog:

- https://github.com/daemonless/dbuild/releases/tag/v1.13.1

Reviewed by:    dtxdf
Approved by:    dtxdf (mentor, maintainer)
Differential Revision:  https://reviews.freebsd.org/D61171
DeltaFile
+3-3sysutils/py-dbuild/distinfo
+1-1sysutils/py-dbuild/Makefile
+4-42 files

LLVM/project a10d84e — mlir/include/mlir/Analysis/Presburger IntegerRelation.h Matrix.h, mlir/lib/Analysis/Presburger Matrix.cpp IntegerRelation.cpp

[mlir][Presburger] Add helpers for eliminating a variable using an equality

Add IntMatrix::eliminateColumnUsingRow, which eliminates a column from a
row using a pivot row with a positive multiplier on the row (a port of
ISL's isl_seq_elim), and IntegerRelation::eliminateVarUsingEquality,
which applies it to every equality and inequality of a relation (a port
of ISL's eliminate_var_using_equality).

Use them in reduceUsingEqualities in place of the file-local
eliminateColumnUsingEquality helper. These are intended as the shared
primitive behind the existing hand-rolled elimination loops (e.g. in
gaussianEliminateVars, gaussianEliminate and removeRedundantLocalVars),
which can be migrated separately.
DeltaFile
+13-29mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+22-0mlir/unittests/Analysis/Presburger/MatrixTest.cpp
+20-0mlir/lib/Analysis/Presburger/Matrix.cpp
+11-0mlir/include/mlir/Analysis/Presburger/Matrix.h
+8-0mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
+74-295 files

LLVM/project 7603bc2 — mlir/include/mlir/Analysis/Presburger IntegerRelation.h, mlir/lib/Analysis/Presburger IntegerRelation.cpp

[mlir][Presburger] Add IntegerRelation::reduceUsingEqualities helper

Add a protected helper that rewrites all constraints of a relation using
the equalities of another relation in the same space, without changing
the intersection of the two. This is a port of ISL's
isl_basic_set_reduce_using_equalities together with
project_onto_involved: the equalities are first projected onto the
variables that occur in the relation being reduced, so that no new
variables (in particular, no locals of the other relation) are
introduced, and each remaining equality is then used to eliminate its
last variable with a non-zero coefficient from every constraint, so that
later variables (locals) are eliminated in favor of earlier ones.

This is a building block for context-based simplification (gist) and is
exercised by the gist tests added in a follow-up commit, since there is
no existing pattern for unit-testing protected members of
IntegerRelation.
DeltaFile
+108-0mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+17-0mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
+125-02 files

LLVM/project 9c3042c — llvm/include/llvm/ProfileData InstrProf.h, llvm/include/llvm/Transforms/IPO MemProfContextDisambiguation.h

[MemProf] Handle local aliases in ThinLTO indirect tail-call cloning (#238190)

Indirect call targets in value profile metadata may come from
instrumentation PGO, keyed by PGOFuncName, or from SamplePGO and MemProf
synthesized targets, keyed by the binary symbol name (i.e. unprefixed
for locals), independent of the build's FDO mode. During the thin link,
updateValueInfoForIndirectCalls translates unprefixed local target GUIDs
to the local's actual ValueInfo, which then keys any MemProf callsite
record synthesized for a missing tail-call frame.

In distributed ThinLTO backends, the summary index omits original-name
mappings, so findIndirectTailCallCallsite reconstructs them from the
module's definitions via InstrProfSymtab. This failed for local aliases:
InstrProfSymtab does not index GlobalAliases, and an imported copy of an
alias (a Function created by replaceAliasWithAliasee) retains the
aliasee's !guid, so it was indexed under the aliasee's GUID rather than
the alias's, and could also shadow the aliasee's own function when both
were in the module. As a result, synthesized records targeting local
aliases were missed, leaving callers uncloned with undefined .memprof.*

    [26 lines not shown]
DeltaFile
+436-0llvm/test/ThinLTO/X86/memprof-tailcall-indirect-alias.ll
+212-0llvm/test/ThinLTO/X86/memprof-icp-imported-alias.ll
+71-12llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
+20-6llvm/lib/ProfileData/InstrProf.cpp
+18-4llvm/include/llvm/ProfileData/InstrProf.h
+6-0llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
+763-226 files

LLVM/project 1ed38c3 — llvm/include/llvm/CodeGen ExecutionDomainFix.h, llvm/lib/CodeGen ExecutionDomainFix.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+160-28llvm/lib/CodeGen/ExecutionDomainFix.cpp
+16-84llvm/include/llvm/CodeGen/ExecutionDomainFix.h
+39-6llvm/lib/Target/X86/X86IndirectThunks.cpp
+1-22llvm/lib/Target/ARM/ARMTargetMachine.cpp
+2-20llvm/lib/Target/X86/X86TargetMachine.cpp
+18-2llvm/lib/Target/X86/X86.h
+236-16216 files not shown
+317-17422 files

LLVM/project 9a14283 — llvm/include/llvm/CodeGen ExecutionDomainFix.h, llvm/lib/CodeGen ExecutionDomainFix.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+160-28llvm/lib/CodeGen/ExecutionDomainFix.cpp
+16-84llvm/include/llvm/CodeGen/ExecutionDomainFix.h
+39-6llvm/lib/Target/X86/X86IndirectThunks.cpp
+1-22llvm/lib/Target/ARM/ARMTargetMachine.cpp
+2-20llvm/lib/Target/X86/X86TargetMachine.cpp
+18-2llvm/lib/Target/X86/X86.h
+236-16214 files not shown
+293-17420 files

FreeNAS/freenas 265a65b —

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

FreeNAS/freenas 5ca8ea1 — src/middlewared/middlewared/plugins disk.py

NAS-144124 / 27.0.0 / Refuse SED reset, setup and unlock on boot pool disks (#20121)

On a system licensed for SED whose boot drive happens to support TCG,
the boot drive was reported as a SED disk like any other. Storage >
Disks showed its SED status, and since the SED Reset button started
showing in every SED state
([NAS-144107](https://ixsystems.atlassian.net/browse/NAS-144107)) it
offered a PSID factory reset of the running boot device, which
middleware would carry out with nothing to stop it.

- `disk.query` now reports boot pool disks as not SED, with no SED
status. `disk.details` and the disk change events carry the same values,
so the WebUI stops showing SED status and SED Reset for the boot drive
without a WebUI change.
- `disk.reset_sed`, `disk.setup_sed` and `disk.unlock_sed` reject a boot
pool disk as not a SED disk.
- Systems with no SED disks see no change, and no extra boot pool
lookup.

A PSID reset of a disk in an imported data pool is still not refused;
that is [NAS-144112](https://ixsystems.atlassian.net/browse/NAS-144112).
DeltaFile
+9-1src/middlewared/middlewared/plugins/disk.py
+9-11 files

LLVM/project 8017e2e — flang/include/flang/Evaluate real-value.h

[NFC] Build: Suppress AIX binary compat warning in real-value.h (#238605)

Fixes
```
error: alignment of 16 bytes for a struct member is not binary compatible with IBM XL C/C++ for AIX 16.1.0 or older [-Werror,-Waix-compat]
```
caused by https://github.com/llvm/llvm-project/pull/216960.

Co-authored-by: Hubert Tong <hstong at ca.ibm.com>
DeltaFile
+8-0flang/include/flang/Evaluate/real-value.h
+8-01 files

LLVM/project b603a2c — mlir/include/mlir/Dialect/OpenACC OpenACCCGOps.td, mlir/lib/Dialect/OpenACC/IR OpenACCCG.cpp

[mlir][acc] Do not report a negative launch width as a size (#238572)

A negative constant launch width leaves the size to be chosen at launch,
but the remarks printed it as `gang([invalid_num])` and
`gridDim=-1x1x1`. Make `getKnownConstantLaunchArg` ignore negative
constants and print such widths as `(*)` in the launch remark.
DeltaFile
+21-0mlir/test/Dialect/OpenACC/acc-emit-remarks-loop.mlir
+6-3mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
+3-1mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
+4-0mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
+34-44 files

LLVM/project 34c99aa — mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Update comment
DeltaFile
+2-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-21 files

LLVM/project e625e87 — mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp, mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

[mlir][LLVM] Use a disjoint scope domain when inlining noalias

This matches recent changes to the LLVM inliner.

AI disclosure: Claude wrote the code, I wrote the commit message and
have done initial review.
DeltaFile
+28-25mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+10-18mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+38-432 files

LLVM/project 628ead8 — mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

Test that the inliner keeps the flag when it clones a domain

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+35-0mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+35-01 files

LLVM/project 03b3e34 — mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Remove pointless comment
DeltaFile
+0-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+0-21 files

LLVM/project c5a85be — mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir, mlir/test/Target/LLVMIR attribute-alias-scopes.mlir

[AI test fix] Use property syntax for alias scope attributes

The strict-properties assembly format change means inherent attributes
such as `alignment`, `alias_scopes` and `noalias_scopes` on
`llvm.load`/`llvm.store` can no longer be parsed out of the trailing
attribute dictionary. Switch the newly added tests to the `<...>`
property syntax already used by the rest of these files.
DeltaFile
+2-2mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
+2-2mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+4-42 files

LLVM/project c5902d8 — mlir/include/mlir/Dialect/LLVMIR LLVMAttrDefs.td, mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

[mlir][LLVM] Add disjointScopes to AliasScopeDomainAttr

This also updates the MLIR-side inliner to clone disjoint domains
while cloning alias scopes, matching changes to LLVM.

AI disclosure: Claude wrote the code, I wrote the commit message and
looked at the code.
DeltaFile
+25-0mlir/test/Target/LLVMIR/Import/metadata-alias-scopes.ll
+23-0mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
+17-2mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+4-1mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-2mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+3-1mlir/lib/Target/LLVMIR/ModuleImport.cpp
+74-66 files

LLVM/project ca4f6e1 — llvm/test/CodeGen/AMDGPU lower-kernel-and-module-lds.ll lower-module-lds-via-hybrid.ll

Test fixups
DeltaFile
+28-19llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
+36-10llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
+17-17llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
+15-18llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
+11-13llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
+9-9llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
+116-865 files not shown
+148-12011 files

LLVM/project 7015d43 — llvm/lib/Target/AMDGPU AMDGPULowerModuleLDSPass.cpp, llvm/test/CodeGen/AMDGPU remove-no-kernel-id-attribute.ll

[AMDGPU] Use a disjoint scope domain for merged LDS structs

When lowering LDS values, all the values are mutually disjoint, so we
can use the newly-added disjoint scopes feature to simplify the IR.

AI disclosure: Claude wrote this and I reviewed it and wrote the
 commit message
DeltaFile
+16-49llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+8-12llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
+24-612 files

LLVM/project 20dafc7 — llvm/lib/Target/AMDGPU AMDGPULowerKernelArguments.cpp

Correct comment
DeltaFile
+2-2llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+2-21 files

LLVM/project 4269929 — llvm/lib/Target/AMDGPU AMDGPULowerKernelArguments.cpp, llvm/test/CodeGen/AMDGPU lower-kernargs.ll si-split-load-store-alias-info.ll

[AMDGPU] Use a disjoint scope domain for noalias kernel arguments

All noalias arguments of a kernel are disjoint with each other, so we
can use a disjoint scope to save on metadata construction.

AI disclosure: Claude wrote this, I looked at it and wrote this
message.
DeltaFile
+90-105llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
+19-13llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+11-11llvm/test/CodeGen/AMDGPU/lower-kernel-arguments-noalias-call-no-ptr-args.ll
+8-8llvm/test/CodeGen/AMDGPU/si-split-load-store-alias-info.ll
+4-4llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
+132-1415 files

LLVM/project ab3aa25 — lldb/packages/Python/lldbsuite/test/make Makefile.rules, lldb/test/API/lang/cpp/break-on-initializers TestBreakOnCPP11Initializers.py

[lldb][test] Build PDB test inferiors with column info
DeltaFile
+1-1lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+0-1lldb/test/API/lang/cpp/structured-binding/TestStructuredBinding.py
+0-1lldb/test/API/lang/cpp/step-through-trampoline/TestStepThroughTrampoline.py
+0-1lldb/test/API/lang/cpp/break-on-initializers/TestBreakOnCPP11Initializers.py
+1-44 files

LLVM/project 27c2ace — clang/test/Sema builtins-elementwise-convert-from-arbitrary-fp-neon.c builtins-elementwise-convert-from-arbitrary-fp-target.c, clang/test/SemaCXX builtins-elementwise-convert-from-arbitrary-fp.cpp

Unwrap long lines in remaining new tests

Match sibling elementwise builtin tests, which keep RUN lines and
statements on one line.

Change-Id: I33de97f85093f2649c0035c22f99a33b1657486f
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+38-76clang/test/Sema/builtins-elementwise-convert-from-arbitrary-fp.c
+7-19clang/test/SemaCXX/builtins-elementwise-convert-from-arbitrary-fp.cpp
+4-9clang/test/Sema/builtins-elementwise-convert-from-arbitrary-fp-target.c
+3-7clang/test/Sema/builtins-elementwise-convert-from-arbitrary-fp-neon.c
+1-2clang/test/SemaOpenCL/builtins-elementwise-convert-from-arbitrary-fp.cl
+53-1135 files

LLVM/project d8c5e56 — lldb/source/Plugins/SymbolFile/NativePDB SymbolFileNativePDB.cpp, lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column TestBreakpointByLineAndColumn.py

[lldb][NativePDB] Read the columns of line tables
DeltaFile
+21-0lldb/test/Shell/SymbolFile/NativePDB/line-table-columns.cpp
+8-2lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+0-3lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
+29-53 files