LLVM/project ceef240 — llvm/docs/CommandGuide llvm-mc.md, llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h

[nspr] initial commit
DeltaFile
+23-10llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+15-10llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+22-2llvm/test/tools/llvm-mc/verify/basic.s
+4-3mlir/docs/Diagnostics.md
+4-1llvm/tools/llvm-mc/llvm-mc.cpp
+4-1llvm/docs/CommandGuide/llvm-mc.md
+72-271 files not shown
+74-287 files

LLVM/project 7fbea04 — clang/test/CIR/IR invalid-vtable.cir, mlir/docs Diagnostics.md

[nspr] update
DeltaFile
+6-6mlir/test/Dialect/OpenMP/memory-effects.mlir
+5-4mlir/docs/Diagnostics.md
+1-1clang/test/CIR/IR/invalid-vtable.cir
+12-113 files

LLVM/project c9c831a — llvm/docs ReleaseNotes.md, llvm/docs/CommandGuide llvm-mc.md

[nspr] update
DeltaFile
+8-11llvm/docs/CommandGuide/llvm-mc.md
+2-2llvm/docs/ReleaseNotes.md
+10-132 files

LLVM/project 2c1bdb6 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

[DAG] Add SDNode::getOperandCondCode helper (#238433)

Remove a lot of repeated cast<CondCodeSDNode>() wrapping
DeltaFile
+45-49llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+36-42llvm/lib/Target/X86/X86ISelLowering.cpp
+22-24llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+22-24llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+14-17llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+13-13llvm/lib/Target/ARM/ARMISelLowering.cpp
+152-16929 files not shown
+264-28135 files

LLVM/project 0b4ec2c — compiler-rt/lib/sanitizer_common sanitizer_platform_interceptors.h, compiler-rt/test/msan/Linux strlcpy_strlcat.c

[sanitizer_common] Intercept strlcpy and strlcat on glibc 2.38+ (#236414)

Enable the existing `strlcpy` and `strlcat` interceptors on glibc 2.38
and later, following their [addition to
glibc](https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199).

Fixes #114377
DeltaFile
+35-0compiler-rt/test/msan/Linux/strlcpy_strlcat.c
+3-2compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
+1-1compiler-rt/test/sanitizer_common/TestCases/Posix/strlcpy.cpp
+1-1compiler-rt/test/sanitizer_common/TestCases/Posix/strlcat.cpp
+40-44 files

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

RuntimeLibcalls: Add signatures for the divrem libcalls

Add struct types to the signature table so libcalls returning multiple
values can be described in TableGen. Use them for the ARM, Windows and
AVR divmod functions, which return the quotient and remainder in
registers, instead of building their types in C++.

The other divrem libcalls use the compiler-rt prototype, which stores
the remainder through a pointer. AVR gets its own __divmodsi4 and
__udivmodsi4, since ARM Darwin uses the compiler-rt functions with
those names.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-47llvm/lib/IR/RuntimeLibcalls.cpp
+41-18llvm/include/llvm/IR/RuntimeLibcalls.td
+44-0llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+10-10llvm/test/Transforms/Util/DeclareRuntimeLibcalls/divmod.ll
+8-8llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm.ll
+15-0llvm/test/TableGen/RuntimeLibcallEmitter.td
+139-832 files not shown
+151-898 files

LLVM/project 655370a — clang/lib/CIR/CodeGen CIRGenModule.h CIRGenCall.cpp, clang/test/CIR/CodeGen paren-init-list.cpp call-conv-lowering-x86_64-non-byval.cpp

[CIR] Add dead_on_return for destructors (#235125)

This change adds the dead_on_return attribute for the `this` argument to
destructors unless `-fno-lifetime-dse` was used.

Assisted-by: Cursor / claude-opus-5.5
DeltaFile
+121-0clang/test/CIR/CodeGen/destructor-dead-on-return.cpp
+29-11clang/lib/CIR/CodeGen/CIRGenCall.cpp
+5-10clang/test/CIR/CodeGen/call-conv-lowering-x86_64-non-byval.cpp
+1-1clang/test/CIR/CodeGen/paren-init-list.cpp
+1-1clang/lib/CIR/CodeGen/CIRGenModule.h
+157-235 files

LLVM/project 27dc63b — 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-16214 files not shown
+293-17420 files

LLVM/project d731952 — llvm/lib/CodeGen ExecutionDomainFix.cpp, llvm/lib/Target/AArch64 AArch64SLSHardening.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+39-6llvm/lib/Target/X86/X86IndirectThunks.cpp
+23-8llvm/lib/CodeGen/ExecutionDomainFix.cpp
+1-22llvm/lib/Target/ARM/ARMTargetMachine.cpp
+2-20llvm/lib/Target/X86/X86TargetMachine.cpp
+18-2llvm/lib/Target/X86/X86.h
+14-5llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
+97-6312 files not shown
+140-7218 files

LLVM/project 5e1d81c — llvm/lib/Transforms/Scalar DeadStoreElimination.cpp, llvm/test/Transforms/DeadStoreElimination dead-stores-via-dom-conditions.ll

[DSE] Support trunc nuw conditions in `eliminateRedundantStoresViaDominatingConditions` (#238062)

regression seen in
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1794/changes#r4446000612

proof: https://alive2.llvm.org/ce/z/6sghff

Assisted-by: copilot
DeltaFile
+74-0llvm/test/Transforms/DeadStoreElimination/dead-stores-via-dom-conditions.ll
+21-10llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+95-102 files

LLVM/project edb786b — llvm/docs/Proposals VariableNames.md, llvm/utils/gn README.md

[LLVM][docs] Rewrite llvm rst docs to md [2/2] (#234567)

Tracking issue:
[#201242](https://github.com/llvm/llvm-project/issues/201242)

See the [migration
guide](https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines)
for more information.

this is the second part of migrating the remaining llvm rst docs to md.
the content conversion is provided by this pr, following the rename in
the previous pr.

this was prepared with rnk's fork of rst2myst and LLM-assisted cleanup.
i manually verified that the documentation renders as expected.

Depends on #234561

the first commit is from the base pr (rename), the second commit

    [4 lines not shown]
DeltaFile
+290-261llvm/docs/Proposals/VariableNames.md
+43-55llvm/utils/gn/README.md
+26-36llvm/utils/lit/README.md
+2-1llvm/utils/lit/setup.py
+1-1llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
+362-3545 files

LLVM/project 3e659e4 — .github new-prs-labeler.yml

[new-prs-labeler] Add labels for LV, LAA, SCEV (#228086)

Rename vectorizers to llvm:vectorizer, and create a llvm:loopvectorize
as a refinement. Also add llvm:{loopaccessanalysis,scalarevolution}.

Fixes #228041.
Fixes #228064.

The infra area team created / renamed the teams.
DeltaFile
+34-6.github/new-prs-labeler.yml
+34-61 files

LLVM/project 3c4aa88 — clang/lib/CIR/CodeGen CIRGenDecl.cpp, clang/test/CIR/CodeGen static-local.cpp

[CIR] Implement 'asm label' lowering. (#238509)

This ends up being a horrifically trivial implementation: it just
changes the name of the static local to use the 'mangled name' (which
    pays attention to the attribute) rather than just the static decl
name. This patch implements that and adds some trivial tests to show the
behavior.
DeltaFile
+50-0clang/test/CIR/CodeGen/static-local.cpp
+4-3clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+54-32 files

LLVM/project 46571eb — llvm/include/llvm/Transforms/IPO Attributor.h, llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Invalidate analyses when attributor-light only changes attributes (#231397)

attributor-light only invalidated analyses for functions whose IR it
rewrote, but declared all function analyses preserved. Attribute changes
were not tracked, so e.g. a caller's MemorySSA could go stale after the
callee became readnone. Also invalidate functions whose attributes or
call site attributes changed, and their callers, like FunctionAttrs.

Keep the marker which stops the function simplification pipeline from
running again on CGSCC revisits, since attribute changes alone do not
need re-simplification. Without this, already simplified functions were
simplified again, making attributor-light much more expensive.

No compile time or output change on CTMark.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+31-11llvm/lib/Transforms/IPO/Attributor.cpp
+23-0llvm/test/Transforms/Attributor/light-invalidate-analyses.ll
+10-0llvm/include/llvm/Transforms/IPO/Attributor.h
+64-113 files

LLVM/project a5f319d — llvm/include/llvm/IR RuntimeLibcalls.h, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Handle int and long size more similarly (#238181)

Previously we eagerly computed the int size and passed it through all
the various functions to get the type signature. The long cases were
evaluated in the context that need a long. Treat these the same way
which reduces the number of arguments passed around.
DeltaFile
+13-9llvm/lib/IR/RuntimeLibcalls.cpp
+1-1llvm/include/llvm/IR/RuntimeLibcalls.h
+14-102 files

LLVM/project 4142cbc — llvm/lib/TableGen Main.cpp, llvm/test/TableGen preprocess-errors.td preprocess-depfile.td

[TableGen] Support emitting preprocessed output (#120113)

Implement `llvm-tblgen -E` to preprocess the input files, generating a
single output file which can be fed back into TableGen.
DeltaFile
+91-14llvm/lib/TableGen/Main.cpp
+80-0llvm/test/TableGen/preprocess-include.td
+64-0llvm/test/TableGen/preprocess-format.td
+43-0llvm/test/TableGen/preprocess-macros.td
+38-0llvm/test/TableGen/preprocess-depfile.td
+13-0llvm/test/TableGen/preprocess-errors.td
+329-141 files not shown
+333-147 files

LLVM/project d0adcd9 — llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp, llvm/test/CodeGen/SPIRV/debug-info debug-typedef-cycle-unsupported-forward-ref.ll debug-typedef-base-debuginfonone.ll

[SPIRV] Forward-reference debug scopes with a reserved result id. (#229490)

This PR brings support for cycles when processing DIScope(s). This is
done using `SPV_KHR_relaxed_extended_instruction` for
`OpExtInstWithForwardRefsKHR`, which permits forward references (a use
prior to its definition).

The new emission algorithm works in the following way. DIScopes are
recursively processed as it was implemented at the start of these
stacked PRs. `getOrCreateDebugScope` reserves an id for the current
scope, and recurses to first emit its dependencies. If in the recursion
we hit a back edge (cycle), the scope even though not emitted yet will
have a reserved id. That undefined but reserved id is then used as an
operand alongside `OpExtInstWithForwardRefsKHR`.

When an instruction defining a DIScope is going to be emitted,
`getOrCreateDebugScope` makes sure that the scope's instruction uses its
reserved id. If the current scope is not supported by the backend, it
might be the case that the scope was still used as a forward reference.

    [23 lines not shown]
DeltaFile
+99-13llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+57-0llvm/test/CodeGen/SPIRV/debug-info/debug-composite-parent-debuginfonone.ll
+52-0llvm/test/CodeGen/SPIRV/debug-info/debug-type-composite-self-pointer-forward-refs.ll
+46-0llvm/test/CodeGen/SPIRV/debug-info/debug-typedef-base-debuginfonone.ll
+43-0llvm/test/CodeGen/SPIRV/debug-info/debug-typedef-cycle-unsupported-forward-ref.ll
+27-6llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+324-191 files not shown
+327-207 files

LLVM/project ff7c770 — llvm/lib/Target/AArch64 AArch64.h AArch64SLSHardening.cpp, llvm/lib/Target/X86 X86CodeGenPassBuilder.cpp X86.h

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+39-6llvm/lib/Target/X86/X86IndirectThunks.cpp
+14-5llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
+18-1llvm/lib/Target/X86/X86.h
+7-0llvm/lib/Target/AArch64/AArch64.h
+4-0llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+1-2llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
+83-142 files not shown
+85-158 files

LLVM/project c10e88f — llvm/lib/CodeGen ExecutionDomainFix.cpp, llvm/lib/Target/AArch64 AArch64SLSHardening.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+39-6llvm/lib/Target/X86/X86IndirectThunks.cpp
+23-8llvm/lib/CodeGen/ExecutionDomainFix.cpp
+1-22llvm/lib/Target/ARM/ARMTargetMachine.cpp
+2-20llvm/lib/Target/X86/X86TargetMachine.cpp
+18-2llvm/lib/Target/X86/X86.h
+14-5llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
+97-6312 files not shown
+140-7218 files

LLVM/project 87dbbfe — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Only reanalyze functions that may gain call graph references

Reanalyzing the function of every replaced use could remove a call graph
edge before another function added the same reference, failing the trivial
edge assertion with EXPENSIVE_CHECKS in cgscc-new-ref-edge.ll. Only
reanalyze the user's function if the new value may reference a function.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+10-3llvm/lib/Transforms/IPO/Attributor.cpp
+10-31 files

LLVM/project 5de65c7 — clang/lib/Basic/Targets WebAssembly.cpp, clang/test/Driver wasm-features.c

[WebAssembly] Rename relaxed-atomics to acquire-release-atomics (#238113)

The WebAssembly "relaxed atomics" proposal was renamed to
"acquire-release atomics" (see
https://github.com/WebAssembly/acquire-release-atomics/issues/2).

Update the LLVM WebAssembly target feature (`+acquire-release-atomics`),
Clang driver flags (`-macquire-release-atomics` /
`-mno-acquire-release-atomics`), preprocessor macro
(`__wasm_acquire_release_atomics__`), MC diagnostics, and tests
accordingly.

Assisted-by: Antigravity
DeltaFile
+338-338llvm/test/CodeGen/WebAssembly/atomic-mem-consistency.ll
+50-50llvm/test/CodeGen/WebAssembly/atomic-fence.ll
+12-12clang/test/Preprocessor/wasm-target-features.c
+12-12clang/lib/Basic/Targets/WebAssembly.cpp
+6-6clang/test/Driver/wasm-features.c
+5-4llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
+423-42210 files not shown
+451-44716 files

LLVM/project a8967f9 — flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp

[Flang][OpenMP][NFC] Remove some no longer used functions (#238036)

Forgot to remove these in prior pass that removed the user, now they
have no uses so no longer required.
DeltaFile
+0-236flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+0-2361 files

LLVM/project f2eae78 — llvm/test/CodeGen/AMDGPU vector-reduce-fmaximum.ll llvm.amdgcn.mfma.ll

[AMDGPU][NFC] Clean up pre-gfx125x test RUN lines (#238107)

Drop flags that match defaults: `-verify-machineinstrs` in `.ll` tests,
`-global-isel=0` in tests without a GlobalISel run, and redundant
`-global-isel-abort`.

Use subarch triples instead of amdgcn plus `-mcpu`. 

Error-only MC runs use `-filetype=null`.
DeltaFile
+11-11llvm/test/CodeGen/AMDGPU/minimumnum.ll
+11-11llvm/test/CodeGen/AMDGPU/maximumnum.ll
+10-10llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
+10-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
+10-10llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
+10-10llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
+62-6279 files not shown
+201-20185 files

LLVM/project bc89a2b — llvm/lib/Target/SystemZ SystemZISelLowering.h SystemZISelLowering.cpp, llvm/test/CodeGen/SystemZ atomicrmw-xchg-02.ll

SystemZ: Lower sub-word atomicrmw during type legalization

Produce the ATOMIC_LOADW_* nodes when replacing the illegal i8/i16
results, instead of custom lowering the promoted node later. This
removes the no-op custom type legalization case.

Constants are now any-extended, so one test materializes an immediate
with llill instead of lhi.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+60-54llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+2-2llvm/lib/Target/SystemZ/SystemZISelLowering.h
+1-1llvm/test/CodeGen/SystemZ/atomicrmw-xchg-02.ll
+63-573 files

LLVM/project 99b5590 — utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen BUILD.bazel

[bazel] Fix mlir test failure from d1acd0e. (#238520)

This was not fixed by e71256a
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel
+1-01 files

LLVM/project c6a9b42 — llvm/test/CodeGen/AMDGPU memory-legalizer-global-system.ll memory-legalizer-global-agent.ll

Merge branch 'main' into users/ldionne/lnt-test-suite-profiles
DeltaFile
+7,612-3,682llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+7,188-3,478llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+4,386-2,069llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
+4,138-1,953llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
+32,216-15,3765,820 files not shown
+152,311-61,1255,826 files

LLVM/project 97f2517 — .ci/lnt/llvm-test-suite machines.json

Bump the test-suite now that profile support has landed
DeltaFile
+4-4.ci/lnt/llvm-test-suite/machines.json
+4-41 files

LLVM/project 2875c60 — cmake/Modules LLVMVersion.cmake, libcxx/include __config

Bump version to 23.1.6
DeltaFile
+1-1llvm/utils/mlgo-utils/mlgo/__init__.py
+1-1llvm/utils/lit/lit/__init__.py
+1-1llvm/utils/gn/secondary/llvm/version.gni
+1-1libcxx/include/__config
+1-1cmake/Modules/LLVMVersion.cmake
+5-55 files

LLVM/project 872705b — llvm/test/Transforms/Util/DeclareRuntimeLibcalls systemz.ll windows.ll

RuntimeLibcalls: Add signatures for floating point comparison libcalls

The three-way and unordered comparisons return libgcc_cmp_return. This
is the word size with a few exceptions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+105-105llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+84-84llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+66-66llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm.ll
+63-63llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+63-63llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+42-42llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+423-42312 files not shown
+703-69218 files

LLVM/project 17bc240 — openmp/runtime/test/worksharing/for omp_for_narrow_unsigned_iv.c

add test for negative step
DeltaFile
+12-0openmp/runtime/test/worksharing/for/omp_for_narrow_unsigned_iv.c
+12-01 files