LLVM/project d83844f — llvm/lib/CodeGen MachineScheduler.cpp, llvm/lib/Target/AMDGPU AMDGPUCoExecInfo.h

[AMDGPU] Model LD_SCALE instruciton in Scaled WMMA

Change-Id: Id25718246ff716f8ed06e56aeae91784aebf3211
DeltaFile
+174-0llvm/test/CodeGen/AMDGPU/coexec-scaled-wmma-microop.mir
+161-0llvm/unittests/Target/AMDGPU/ScaledWMMAMicroOpTest.cpp
+84-5llvm/lib/Target/AMDGPU/AMDGPUCoExecInfo.h
+41-39llvm/test/CodeGen/AMDGPU/coexec-hazardrec-preRA.mir
+17-17llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir
+17-9llvm/lib/CodeGen/MachineScheduler.cpp
+494-708 files not shown
+544-9914 files

LLVM/project 094d9aa — clang/lib/CodeGen/TargetBuiltins RISCV.cpp, clang/test/CodeGen/RISCV rvp-intrinsics.c

[RISCV][P-ext] Combine riscv.pmhacc.b0 and riscv.pmhacc.h0 into a single intrinsic.

Similar for riscv.pmulh.b0 and riscv.pmulh.h0. This includes
different signedness and different half number.

The underlying RISCVISD opcodes were already combined.

I added ".half." to the intrinsic name to better separate from
the riscv.pmulh intrinsic.

Assisted-by: Claude
DeltaFile
+25-59llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+20-36clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
+24-24llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+24-24clang/test/CodeGen/RISCV/rvp-intrinsics.c
+8-32llvm/include/llvm/IR/IntrinsicsRISCV.td
+8-8llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+109-1836 files

LLVM/project 1f4dd57 — clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+3-3clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+4-42 files

LLVM/project d342a1a — clang/include/clang/Basic TargetInfo.h, clang/lib/AST ASTContext.cpp

convert to exec-charset inside getPredefinedStringLiteralFromCache, test __builtin_FILE()
DeltaFile
+10-0clang/lib/AST/ASTContext.cpp
+3-1clang/test/CodeGen/systemz-charset.cpp
+2-1clang/lib/Lex/TextEncoding.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+20-25 files

LLVM/project 3c26346 — clang/docs LanguageExtensions.md, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.md
+56-193 files not shown
+60-199 files

LLVM/project ab44054 — clang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+3-2clang/lib/Lex/TextEncoding.cpp
+12-112 files

LLVM/project 1fa1865 — clang-tools-extra/clang-tidy/utils FormatStringConverter.cpp, clang/lib/AST PrintfFormatString.cpp ScanfFormatString.cpp

Add isNoop to avoid conversion code in ActOnGCCAsmStmtString
DeltaFile
+41-31clang/lib/AST/FormatStringParsing.h
+31-31clang/lib/AST/FormatString.cpp
+20-20clang/lib/Sema/SemaChecking.cpp
+14-24clang/lib/AST/ScanfFormatString.cpp
+4-22clang/lib/AST/PrintfFormatString.cpp
+4-5clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
+114-1336 files not shown
+127-13912 files

LLVM/project bbc3aa9 — clang/lib/AST FormatString.cpp ScanfFormatString.cpp

change char literals to u8'' to preserve behaviour in the case the
compiler is compiled with a different fexec-charset
DeltaFile
+44-44clang/lib/AST/PrintfFormatString.cpp
+28-28clang/lib/AST/ScanfFormatString.cpp
+28-27clang/lib/AST/FormatString.cpp
+100-993 files

LLVM/project c0e31e0 — clang/lib/AST ScanfFormatString.cpp PrintfFormatString.cpp, llvm/include/llvm/Support TextEncoding.h

rename char conversion function to convertBasicChar
DeltaFile
+18-17clang/lib/AST/FormatString.cpp
+12-12clang/lib/AST/PrintfFormatString.cpp
+3-5clang/lib/AST/ScanfFormatString.cpp
+3-1llvm/include/llvm/Support/TextEncoding.h
+36-354 files

LLVM/project 44099d7 — clang/include/clang/AST FormatString.h, clang/lib/AST ScanfFormatString.cpp PrintfFormatString.cpp

do not convert character by character
DeltaFile
+34-31clang/lib/AST/FormatString.cpp
+28-26clang/lib/AST/FormatStringParsing.h
+20-18clang/lib/Sema/SemaChecking.cpp
+8-5clang/lib/AST/PrintfFormatString.cpp
+4-4clang/lib/AST/ScanfFormatString.cpp
+2-2clang/include/clang/AST/FormatString.h
+96-866 files

LLVM/project 3b178e7 — clang/lib/AST FormatStringParsing.h ScanfFormatString.cpp, clang/lib/Sema SemaChecking.cpp

Add format string handling
DeltaFile
+82-39clang/lib/AST/PrintfFormatString.cpp
+46-40clang/lib/AST/FormatString.cpp
+41-24clang/lib/Sema/SemaChecking.cpp
+28-14clang/lib/AST/ScanfFormatString.cpp
+25-11clang/lib/AST/FormatStringParsing.h
+19-0llvm/lib/Support/TextEncoding.cpp
+241-1289 files not shown
+272-14615 files

LLVM/project 7eb4aec — clang/docs LanguageExtensions.md, clang/include/clang/Lex LiteralSupport.h

address latest comments
DeltaFile
+25-26clang/lib/Lex/LiteralSupport.cpp
+7-11clang/docs/LanguageExtensions.md
+4-9clang/lib/Sema/SemaStmtAsm.cpp
+11-0clang/lib/AST/APValue.cpp
+5-4clang/include/clang/Lex/LiteralSupport.h
+3-3clang/lib/Parse/Parser.cpp
+55-535 files not shown
+64-5711 files

LLVM/project 070d7ff — clang/lib/CodeGen CGCUDANV.cpp, clang/test/CodeGenHIP offload-pgo-version-shadow.hip

[profile] Preserve device instrumentation layout flags when writing profiles (#236081)

The LLVM options -pgo-instrument-entry and -pgo-instrument-loop-entries
control whether function entries and edges entering loops must be
instrumented. Both default to false for ordinary IR PGO. These settings
affect counter placement and are recorded as flags in the raw profile
header so profile use can reconstruct the same counter layout.

HIP users can specify different values for host and device compilation.
For example, -Xarch_device -mllvm=-pgo-instrument-entry=true enables
explicit entry counters for the device while the host keeps the default.
The host and device profiles then need different entry flags.

The ROCm collector currently writes device counters with the host runtime's
version flags. In this example, it incorrectly marks the device profile
as having entry instrumentation disabled. Profile use can then reconstruct
the wrong layout and associate counts with the wrong blocks.

Read and validate the device's profile-version variable separately from

    [2 lines not shown]
DeltaFile
+110-0compiler-rt/test/profile/instrprof-rocm-shadow-registration.cpp
+95-0compiler-rt/test/profile/GPU/instrprof-hip-layout-flags.hip
+56-27clang/lib/CodeGen/CGCUDANV.cpp
+72-0clang/test/CodeGenHIP/offload-pgo-version-shadow.hip
+40-2compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
+13-7compiler-rt/lib/profile/InstrProfiling.h
+386-365 files not shown
+427-4011 files

LLVM/project 03104d0 — clang/lib/CIR/CodeGen CIRGenModule.cpp

[CIR] Narrow GPURelocatableDeviceCode NYI check to CUDA/HIP externalization (#236592)

The NYI check for `GPURelocatableDeviceCode` previously had a blanket
`!isSYCL() ` exclusion. This patch narrows it down to match the
condition the classic codegen uses for externalizing HIP/CUDA
device-side static file-scope variables, gated on CUDA.
DeltaFile
+6-7clang/lib/CIR/CodeGen/CIRGenModule.cpp
+6-71 files

FreeNAS/freenas 58b70ba — src/middlewared/middlewared/test/integration/utils legacy_functions.py

Fix the default password of async_SSH_start

The default was the password function itself. It was a string before
the helper moved from tests/functions.py. do_failover(abusive=True) uses
the default, so it failed with a TypeError from Popen. Call password()
when no password is given, as ssh() does.
DeltaFile
+2-2src/middlewared/middlewared/test/integration/utils/legacy_functions.py
+2-21 files

NetBSD/pkgsrc-wip b315743 — nim options.mk

nim: add comment to explain the option
DeltaFile
+6-1nim/options.mk
+6-11 files

NetBSD/pkgsrc-wip 03e5bf1 — nim Makefile

nim: add do-test as a comment

Commented out because it doesn't work on the current version of nim
DeltaFile
+10-0nim/Makefile
+10-01 files

LLVM/project 82a7730 — llvm/test/CodeGen/AArch64 sve-fixed-vector-lrint.ll sve-fixed-vector-llrint.ll, llvm/test/CodeGen/RISCV/rvv fpclamptosat_vec.ll

[SelectionDAG] Fold scalar_to_vector concatenations

Handle SCALAR_TO_VECTOR operands in foldCONCAT_VECTORS by collecting
the scalar followed by poison upper lanes. Reuse the existing scalar
type normalization for BUILD_VECTOR operands. The fold remains limited
to fixed-length vectors.

Revisit construction-time folds before operation legalization after
concat operands change during DAG combining. This preserves the
codegen improvements when operands become foldable after construction.

Add AMDGPU FP coverage and update the affected AArch64, RISC-V, and X86
codegen checks.
DeltaFile
+796-1,113llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
+106-213llvm/test/CodeGen/X86/vec_smulo.ll
+125-142llvm/test/CodeGen/AArch64/vector-lrint.ll
+125-142llvm/test/CodeGen/AArch64/vector-llrint.ll
+94-129llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
+94-129llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
+1,340-1,86823 files not shown
+1,974-2,62829 files

LLVM/project 29b494c — utils/bazel/llvm-project-overlay/mlir/python BUILD.bazel

[Bazel][mlir] Add XeGPU dialect Python targets (#238066)

Adds `XeGPUOpsPyTdFiles`, `XeGPUOpsPyGen`, and `XeGPUOpsPyFiles` to the
MLIR Python Bazel overlay following
75940a9729864fbcee390e72cbce40b513c466d8 (#237232).
DeltaFile
+29-0utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
+29-01 files

LLVM/project e20f670 — clang/docs ReleaseNotes.md, clang/lib/CodeGen CGExprCXX.cpp

[clang][CodeGen] Fix crash when calling a defaulted comparison operator of a union (#231232)

Fixes #140368

`EmitCXXMemberOrOperatorMemberCallExpr` treated every defaulted member
of a union as trivial for codegen. That clause exists so that a
defaulted union copy or move operation is emitted as a memcpy, but since
C++20 a defaulted `operator==` or `operator<=>` matches it as well, fits
none of the trivial sub-cases and hits the "unknown trivial member
function" assert.

Drop that predicate and the assert and use
`isMemcpyEquivalentSpecialMember` instead: a trivial destructor is a
no-op, a memcpy-equivalent assignment is an aggregate copy, everything
else is a normal call. As a side effect, tagged PFP classes with a
non-trivial destructor now call their copy assignment operator rather
than being memcpy'd, matching what the copy constructor path already
does.

AI assisted.
DeltaFile
+63-0clang/test/CodeGenCXX/cxx2a-three-way-comparison.cpp
+17-27clang/lib/CodeGen/CGExprCXX.cpp
+23-17clang/test/CodeGenCXX/pfp-memcpy.cpp
+1-9clang/test/CodeGenCXX/pfp-coerce.cpp
+4-0clang/test/CXX/class/class.compare/class.compare.default/p2.cpp
+2-0clang/docs/ReleaseNotes.md
+110-536 files

LLVM/project 5eb42b5 — llvm/include/llvm/IR RuntimeLibcallsImpl.td

RuntimeLibcalls: Describe vector FuncArgTypes by element type and count

Define the vector libcall argument types from an element type and
count. Derive the matching integer and mask vector types from them
instead of spelling each one out.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+18-12llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+18-121 files

LLVM/project 60b7542 — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/Transforms/Util/DeclareRuntimeLibcalls amdlibm.ll

Use vector alignment for AMDLIBM sincos out pointers
DeltaFile
+15-1llvm/lib/IR/RuntimeLibcalls.cpp
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+21-72 files

LLVM/project f803f48 — llvm/lib/IR RuntimeLibcalls.cpp, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sleef-riscv.ll amdlibm.ll

RuntimeLibcalls: Use element alignment for vector libcall out pointers

The pointer arguments of the vector modf, sincos and sincospi functions
are linear pointers to the scalar element type (e.g. the l4 in
_ZGVnN4vl4l4_sincosf), not pointers to the vector type. Only the element
alignment is guaranteed, so stop declaring them with the ABI alignment
of the vector.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+12-12llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll
+12-12llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef-riscv.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+1-1llvm/lib/IR/RuntimeLibcalls.cpp
+37-375 files

LLVM/project 466198d — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sparc.ll systemz.ll

Use unsigned argument types for ctlz/ctpop
DeltaFile
+4-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+4-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+2-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+2-2llvm/include/llvm/IR/RuntimeLibcalls.td
+12-124 files

LLVM/project 6a36efd — llvm/test/Transforms/Util/DeclareRuntimeLibcalls arm.ll systemz.ll

RuntimeLibcalls: Add signatures for more runtime functions

Add type missing signatures for assorted functions which were missing
type information.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+474-474llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+305-305llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+279-279llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+276-276llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+198-198llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+192-192llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm.ll
+1,724-1,72411 files not shown
+2,947-2,93317 files

LLVM/project f8be2b7 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Use the correct target C long width for Long

Long and ULong were mapped to the int width, which is wrong on LP64
targets (e.g. scalbln was declared taking i32 on x86_64 linux) and on
16-bit targets where long is 32 bits.

Also fix strtoul, strtoull, and the unsigned long operator new/delete
variants to use the unsigned types.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-21llvm/include/llvm/IR/RuntimeLibcalls.td
+14-7llvm/lib/IR/RuntimeLibcalls.cpp
+9-9llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+8-8llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+6-6llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+64-577 files not shown
+83-7613 files

LLVM/project 8c5c02b — llvm/lib/DWARFLinker/Classic DWARFLinkerDeclContext.cpp, llvm/test/tools/dsymutil/AArch64 typedef-unnamed-types.test

[DWARFLinker] Key classic typedefs on unnamed type contents (#238046)

The typedef key loop added in 8ac8e6fc1645 duplicates
appendUnqualifiedTypeName from c04b8e5ef033, except that it skips the
contents of unnamed types. As a result, typedefs with the same name and
declaration that refer to different unnamed types share a DeclContext,
and one unit's typedef resolves to the other unit's type. The parallel
linker keeps them apart.

Call appendUnqualifiedTypeName instead. An empty DW_AT_name now also
ends the walk, as it does in the parallel linker.

Assisted-by: Claude
DeltaFile
+1,101-0llvm/test/tools/dsymutil/AArch64/typedef-unnamed-types.test
+4-25llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
+1,105-252 files

LLVM/project 7cd6643 — llvm/unittests/Passes/PassBuilderBindings PassBuilderBindingsTest.cpp, llvm/unittests/Target TargetMachineOptionsTest.cpp

[unittests] Skip target tests when the default triple is not built

PassBuilder and TargetMachine C API tests FAIL when LLVM_TARGETS_TO_BUILD
excludes the host triple. Skip instead, and avoid tearing down an
uninitialized TargetMachine after a skipped SetUp.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+8-8llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp
+5-3llvm/unittests/Target/TargetMachineOptionsTest.cpp
+13-112 files

NetBSD/pkgsrc-wip 745ed7f — nim Makefile options.mk

nim: Add option to also build the doc
DeltaFile
+900-0nim/PLIST.doc
+24-0nim/options.mk
+2-5nim/Makefile
+926-53 files

FreeBSD/src eb65bcb — sys/dev/ena ena.c

ena: Fix RSS sysctl panic when the RSS table is destroyed

ena_set_io_queue_count() destroys the ena-com RSS state but left
ENA_FLAG_RSS_ACTIVE set. The RSS sysctl handlers gate on that flag, so
they ran against state that was gone.

This causes 2 types of issues:
1. Kernel panic when reading dev.ena.0.rss.key or writing to
   dev.ena.0.rss.indir_table
2. Returning a stale cached RSS table when reading
   dev.ena.0.rss.indir_table, or a bogus 1 when reading
   dev.ena.0.rss.indir_table_size

ena_set_io_queue_count() is called in 2 cases:
1. The io_queues_nb sysctl.
2. Device restore when the device comes back with fewer MSI-X vectors
   than before.

Clear ENA_FLAG_RSS_ACTIVE when the RSS table is destroyed. The handlers

    [12 lines not shown]
DeltaFile
+1-0sys/dev/ena/ena.c
+1-01 files