LLVM/project b0e8a6fllvm/test/CodeGen/AMDGPU memory-legalizer-private-cluster.ll memory-legalizer-private-agent.ll

AMDGPU: Remove volatile from some atomic tests (#223528)
DeltaFile
+107-107llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
+76-76llvm/test/CodeGen/AMDGPU/memory-legalizer-private-workgroup.ll
+76-76llvm/test/CodeGen/AMDGPU/memory-legalizer-private-wavefront.ll
+76-76llvm/test/CodeGen/AMDGPU/memory-legalizer-private-singlethread.ll
+75-75llvm/test/CodeGen/AMDGPU/memory-legalizer-private-cluster.ll
+75-75llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+485-4851 files not shown
+556-5567 files

LLVM/project ee33e90mlir/include/mlir/Dialect/LLVMIR LLVMIntrinsicOps.td, mlir/lib/Dialect/LLVMIR/IR LLVMDialect.cpp

[mlir][llvm] Add llvm.intr.modf intrinsic (#222355)

Assisted-by: grok-4.6 and gpt-5.6-sol

---------

Signed-off-by: Letu Ren <fantasquex at gmail.com>
DeltaFile
+24-3mlir/test/Dialect/LLVMIR/invalid.mlir
+17-6mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+13-0mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
+11-0mlir/test/Target/LLVMIR/Import/intrinsic.ll
+10-0mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+3-0mlir/test/Target/LLVMIR/Import/fastmath.ll
+78-91 files not shown
+80-97 files

LLVM/project bfab060llvm/lib/Transforms/IPO MergeFunctions.cpp, llvm/test/Transforms/MergeFunc flags.ll

[MergeFunc] Fix poison flag merging for varargs functions (#223347)

This is a followup to https://github.com/llvm/llvm-project/pull/220015.
writeThunkOrAliasIfNeeded() has an early exit for the case where none of
erase/thunk/alias apply, and we failed to merge the poison flags in that
case. I've opted to fix this by moving the annotation merging logic out
of writeThunkOrAliasIfNeeded() entirely, because I don't think it
logically fits there (it's not related to thunk/alias creation at all).

This is the minimal fix to address the miscompile. There is a potential
larger change we could make here, which is to avoid "merging" the
functions in this case in the first place. We don't actually merge the
functions here, but just rewrite all uses to one of them. This seems
kind of dubious to me, though I could see an argument that this can
still be beneficial in conjunction with --gc-sections (i.e. linker-level
dead function elimination).
DeltaFile
+12-18llvm/lib/Transforms/IPO/MergeFunctions.cpp
+24-0llvm/test/Transforms/MergeFunc/flags.ll
+36-182 files

LLVM/project d164b34clang/include/clang/Basic CodeGenOptions.h, clang/include/clang/Options Options.td

clang: Distinguish unspecified from disabled exception model

Add ExceptionHandlingKind::Default so clang can tell an unspecified
exception model from an explicit -exception-model=none.
DeltaFile
+23-18clang/test/CodeGen/exception-model-flag.c
+5-4clang/lib/CodeGen/CodeGenModule.cpp
+4-2clang/lib/CodeGen/CGException.cpp
+2-2clang/include/clang/Options/Options.td
+3-0clang/include/clang/Basic/CodeGenOptions.h
+1-1clang/lib/Frontend/CompilerInvocation.cpp
+38-276 files not shown
+44-3312 files

LLVM/project 2ff7355clang/include/clang/Basic CodeGenOptions.h, clang/lib/CodeGen CodeGenModule.cpp

clang: Emit "exception-model" module flag

Record the exception-handling model as an "exception-model" IR module
flag when it differs from the target triple's default, mirroring how
other target ABI properties are recorded. Adds a
CodeGenOptions::toExceptionHandling helper to translate clang's
ExceptionHandlingKind into the LLVM ExceptionHandling enum.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+38-0clang/test/CodeGen/exception-model-flag.c
+21-0clang/include/clang/Basic/CodeGenOptions.h
+12-0clang/lib/CodeGen/CodeGenModule.cpp
+71-03 files

LLVM/project 70a29d6llvm/docs LangRef.md, llvm/include/llvm/Support CodeGen.h

Distinguish unspecified from disabled exception model
DeltaFile
+13-4llvm/include/llvm/Support/CodeGen.h
+12-0llvm/test/Assembler/module-flags-exception-model.ll
+8-3llvm/docs/LangRef.md
+3-5llvm/lib/IR/RuntimeLibcalls.cpp
+4-4llvm/lib/IR/Module.cpp
+3-4llvm/include/llvm/Target/TargetMachine.h
+43-208 files not shown
+58-2814 files

LLVM/project 414086dllvm/docs/GlobalISel Legalizer.md

[GlobalISel][Docs] Remove footnote about legacy legalizer rules. (#223460)
DeltaFile
+1-8llvm/docs/GlobalISel/Legalizer.md
+1-81 files

LLVM/project 3736d60llvm/docs LangRef.md, llvm/include/llvm/Support CodeGen.h

IR: Introduce "exception-model" module flag

Add an "exception-model" IR module flag intended to replace
TargetOptions::ExceptionModel, such that the ABI is fully
computable from the IR alone. Add the basic documentation and
verifier/linker tests, but doesn't wire up the consumers.

The main thing I question is whether the single "wasm" model is
really the correct control. With the existing TargetOption,
WebAssembly is overloading "none" in a weird way that sometimes
means default, and sometimes mean forcibly disabled exceptions.
It additionally has -wasm-enable-eh and -wasm-enable-sjlj cl::opts
and I don't fully understand the interaction between all of these
knobs; the cl::opts are even worse than the TargetOptions since
these still change the ABI and are backend private.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+40-0llvm/include/llvm/Support/CodeGen.h
+39-0llvm/docs/LangRef.md
+37-0llvm/test/Verifier/module-flags-exception-model.ll
+31-0llvm/test/Assembler/module-flags-exception-model.ll
+28-0llvm/test/Linker/module-flags-exception-model.ll
+11-0llvm/lib/IR/Verifier.cpp
+186-02 files not shown
+203-08 files

LLVM/project f5e3036llvm/include/llvm/Transforms/IPO LowerTypeTests.h, llvm/lib/Transforms/IPO CrossDSOCFI.cpp LowerTypeTests.cpp

[NFC][CrossDSOCFI] Move findCfiTypeIds to LowerTypeTests (#223582)

Move 64-bit numeric type identifier collection logic and
extractNumericTypeId
from CrossDSOCFI.cpp into LowerTypeTests.cpp, exposing it as
lowertypetests::findCfiTypeIds in llvm/Transforms/IPO/LowerTypeTests.h.

Encapsulate Cross-DSO CFI type ID discovery so CrossDSOCFI no longer
directly parses cfi.functions metadata.

PR Stack:
* https://github.com/llvm/llvm-project/pull/223581
* ➤ https://github.com/llvm/llvm-project/pull/223582

Assisted-by: Gemini
DeltaFile
+40-0llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+2-36llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
+3-0llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
+45-363 files

LLVM/project afa19adllvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

Fix lit issue.
DeltaFile
+6-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+6-11 files

LLVM/project 0db5329utils/bazel/llvm-project-overlay/libc BUILD.bazel

[libc][bazel] Adds missing targets for bf16 public headers to bazel files (#222071)

 Adds the missing public `libc_math_function` targets for:
* `canonicalizebf16`
* `getpayloadbf16`
* `setpayloadbf16`
* `setpayloadsigbf16`
DeltaFile
+35-7utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+35-71 files

LLVM/project 5a58d48llvm/lib/Transforms/IPO LowerTypeTests.cpp

&

Created using spr 1.3.7
DeltaFile
+4-4llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+4-41 files

LLVM/project a1c0e0butils/bazel/llvm-project-overlay/llvm/unittests BUILD.bazel

[Bazel] Fixes ac2fb41 (#223601)

This fixes ac2fb41926f9f7723517670788800d448970151a (#215476).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=ac2fb41926f9f7723517670788800d448970151a

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
+1-01 files

LLVM/project 8e38a37llvm/test/CodeGen/RISCV/GlobalISel/rvv vloxei.ll, llvm/test/CodeGen/RISCV/rvv vluxei.ll vloxei.ll

[RISCV] Improve the earlyclobber constraint for vector index load. (#223565)

When the data EEW is smaller than the index EEW, the destination may
overlap the index operand as long as the overlap is in the
lowest-numbered part of the index register group. If the index EMUL is
no larger than 1 then both operands are a single register, so any
overlap is necessarily the lowest-numbered part and no constraint is
needed.

Assisted-by: Claude
DeltaFile
+80-160llvm/test/CodeGen/RISCV/rvv/nontemporal-vp-scalable.ll
+20-40llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
+14-28llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
+11-22llvm/test/CodeGen/RISCV/rvv/vluxei.ll
+11-22llvm/test/CodeGen/RISCV/rvv/vloxei.ll
+9-18llvm/test/CodeGen/RISCV/GlobalISel/rvv/vloxei.ll
+145-2907 files not shown
+192-36413 files

LLVM/project e86cf54llvm/test/CodeGen/AArch64 complex-deinterleaving-fmf-intersection.ll, llvm/test/CodeGen/NVPTX tcgen05-mma.ll

rebase

Created using spr 1.3.7
DeltaFile
+326-0llvm/unittests/ProfileData/SampleProfTest.cpp
+154-0utils/docs/llvm_sphinx/ext/absolute_links.py
+140-0llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-multi-result.ll
+137-0llvm/test/CodeGen/AArch64/complex-deinterleaving-fmf-intersection.ll
+136-0llvm/test/Transforms/InstCombine/trunc.ll
+123-0llvm/test/CodeGen/NVPTX/tcgen05-mma.ll
+1,016-043 files not shown
+1,708-26449 files

LLVM/project dc9c6a0llvm/test/CodeGen/AArch64 complex-deinterleaving-fmf-intersection.ll, llvm/test/CodeGen/NVPTX tcgen05-mma.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+326-0llvm/unittests/ProfileData/SampleProfTest.cpp
+154-0utils/docs/llvm_sphinx/ext/absolute_links.py
+140-0llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-multi-result.ll
+137-0llvm/test/CodeGen/AArch64/complex-deinterleaving-fmf-intersection.ll
+136-0llvm/test/Transforms/InstCombine/trunc.ll
+123-0llvm/test/CodeGen/NVPTX/tcgen05-mma.ll
+1,016-043 files not shown
+1,708-26449 files

LLVM/project 636a86allvm/lib/CodeGen TargetLoweringBase.cpp PreISelIntrinsicLowering.cpp, llvm/lib/Transforms/Utils LowerVectorIntrinsics.cpp

[CodeGen] Add scalarization fallback for multi-result scalable intrinsics (#218634)
DeltaFile
+140-0llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-multi-result.ll
+24-24llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-fp-math.ll
+32-8llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
+35-1llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
+12-12llvm/test/Transforms/PreISelIntrinsicLowering/RISCV/expand-fp-math.ll
+6-0llvm/lib/CodeGen/TargetLoweringBase.cpp
+249-453 files not shown
+256-519 files

LLVM/project 6ce57cellvm/lib/CodeGen ComplexDeinterleavingPass.cpp, llvm/test/CodeGen/AArch64 complex-deinterleaving-fmf-intersection.ll

[ComplexDeinterleaving] Use FMF intersection instead of requiring strict equality (#219158)
DeltaFile
+137-0llvm/test/CodeGen/AArch64/complex-deinterleaving-fmf-intersection.ll
+18-18llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
+155-182 files

LLVM/project 08c860bllvm/include/llvm/Analysis TypeMetadataUtils.h, llvm/include/llvm/Transforms/IPO LowerTypeTests.h

[NFC][LowerTypeTests] Move CFI metadata creation and helpers to LowerTypeTests (#223581)

Move enum CfiFunctionLinkage from llvm/Analysis/TypeMetadataUtils.h into
llvm/Transforms/IPO/LowerTypeTests.h (in namespace lowertypetests).

Move hasTypeMetadata and findCfiFunctions from ThinLTOBitcodeWriter into
LowerTypeTests.

Encapsulate cfi.functions, aliases, and symvers metadata creation into
lowertypetests::createCfiMetadata in LowerTypeTests.cpp, removing the
manual metadata generation from ThinLTOBitcodeWriter.

PR Stack:
* ➤ https://github.com/llvm/llvm-project/pull/223581
* https://github.com/llvm/llvm-project/pull/223582

Assisted-by: Gemini
DeltaFile
+124-5llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+5-94llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+24-5llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
+0-7llvm/include/llvm/Analysis/TypeMetadataUtils.h
+153-1114 files

LLVM/project d13e4a1llvm/include/llvm/IR IntrinsicsNVVM.td, llvm/lib/IR AutoUpgrade.cpp

[NVPTX] Add default value to collector_b ImmArg in tcgen05.mma intrinsics (#220237)

This patch adds default value for the `collector_b` flag in
`tcgen05.mma` intrinsics.
Also adds lit tests to verify that calls without explicit `collector_b`
operands correctly materialized with default value.

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
DeltaFile
+123-0llvm/test/CodeGen/NVPTX/tcgen05-mma.ll
+0-88llvm/lib/IR/AutoUpgrade.cpp
+75-0llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale.ll
+26-7llvm/include/llvm/IR/IntrinsicsNVVM.td
+29-0llvm/test/CodeGen/NVPTX/tcgen05-mma-collector-b.ll
+253-955 files

LLVM/project b41b19cllvm/test/CodeGen/AMDGPU minimumnum.bf16.ll amdgcn.bitcast.128bit.ll

[AMDGPU] Fix for GFX11 VOPD interlock hazard
DeltaFile
+4,377-4,141llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+2,597-2,593llvm/test/CodeGen/AMDGPU/bf16.ll
+2,633-2,496llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1,272-1,259llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+698-692llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
+422-427llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+11,999-11,60887 files not shown
+15,761-15,14793 files

LLVM/project 498ad94llvm/docs MemTagSanitizer.rst TypeMetadata.rst

[docs] Use intersphinx for LLVM cross-project links

Configure the LLVM documentation with the external project inventories it
references and replace absolute cross-project documentation URLs with
validated intersphinx document and reference roles.

Part of #214861
DeltaFile
+18-17llvm/docs/LangRef.md
+7-7llvm/docs/AMDGPUUsage.rst
+6-7llvm/docs/LibFuzzer.md
+5-6llvm/docs/CMake.md
+4-6llvm/docs/TypeMetadata.rst
+5-4llvm/docs/MemTagSanitizer.rst
+45-4717 files not shown
+70-7323 files

LLVM/project aca8ce1utils/docs/llvm_sphinx __init__.py, utils/docs/llvm_sphinx/ext absolute_links.py

[docs] Check absolute cross-project documentation links

Extend the absolute documentation link check to recognize documents from
configured intersphinx inventories. Diagnose absolute links to those documents
so authors use validated, project-qualified intersphinx roles instead.

Part of #214861
DeltaFile
+131-17utils/docs/llvm_sphinx/ext/absolute_links.py
+20-1utils/docs/llvm_sphinx/__init__.py
+6-1utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
+5-0utils/docs/llvm_sphinx/ext/absolute_links_test/external/target.md
+5-0utils/docs/llvm_sphinx/ext/absolute_links_test/external/index.md
+4-0utils/docs/llvm_sphinx/ext/absolute_links_test/external/conf.py
+171-192 files not shown
+173-208 files

LLVM/project acdeb63clang/docs ClangOffloadBundler.md ThinLTO.md, clang/include/clang/Basic AttrDocs.td

[docs] Use intersphinx for Clang cross-project links

Configure the Clang documentation with the external project inventories it
references and replace absolute cross-project documentation URLs with
validated intersphinx document and reference roles.

Part of #214861
DeltaFile
+11-11clang/docs/LanguageExtensions.md
+6-6clang/docs/InternalsManual.md
+5-6clang/docs/ClangTools.md
+5-5clang/docs/ThinLTO.md
+4-5clang/docs/ClangOffloadBundler.md
+4-4clang/include/clang/Basic/AttrDocs.td
+35-3730 files not shown
+79-8336 files

LLVM/project fb94e63clang/docs conf.py, llvm/docs conf.py

[docs] Enable absolute documentation link checks

Configure the LLVM and Clang documentation URL prefixes so their Sphinx
builds reject absolute links to documents in the same project or a configured
intersphinx project.

Part of #214861
DeltaFile
+11-1llvm/docs/conf.py
+3-0clang/docs/conf.py
+14-12 files

LLVM/project 5f4f2ebllvm/docs/CommandGuide llvm-ir2vec.md, llvm/docs/tutorial BuildingAJIT4.md

[docs] Repair stale LLVM documentation links

Use the Sphinx ref role for the IR2Vec section label so clean Sphinx
builds resolve it correctly. Remove the dangling BuildingAJIT Chapter 5
navigation text because that chapter no longer exists.

Fixes follow-up issues in #222506.
DeltaFile
+0-2llvm/docs/tutorial/BuildingAJIT4.md
+1-1llvm/docs/CommandGuide/llvm-ir2vec.md
+1-32 files

LLVM/project 80d4d47llvm/docs ProgrammersManual.md GettingInvolved.md, llvm/docs/AMDGPU DeveloperGuideline.rst

[docs] Replace llvm.org/docs links with project links

Use Sphinx document and reference roles or project-relative links for
links within the LLVM documentation. This lets Sphinx validate the
targets and keeps local documentation builds and archived release
documentation self-contained.

Part of #214861
DeltaFile
+8-8llvm/docs/AMDGPU/DeveloperGuideline.rst
+7-7llvm/docs/SecurityTransparencyReports.rst
+6-6llvm/docs/MergeFunctions.md
+5-6llvm/docs/CommandGuide/llvm-remarkutil.md
+5-3llvm/docs/GettingInvolved.md
+3-3llvm/docs/ProgrammersManual.md
+34-3339 files not shown
+94-8545 files

LLVM/project 2fc4314clang/docs conf.py LibASTImporter.md, clang/docs/analyzer/user-docs Annotations.md

[docs] Repair Clang documentation cross-references

Restore a stable target for the OSObject retain-behavior attributes and
reference it with the Sphinx ref role. Mark links to the generated AST
matcher reference as external so MyST preserves their project-relative
HTML destinations instead of treating the file as a download.

Fixes follow-up issues in #222507.
DeltaFile
+1-1clang/docs/conf.py
+1-1clang/docs/analyzer/user-docs/Annotations.md
+1-1clang/docs/LibASTImporter.md
+1-1clang/docs/ClangTransformerTutorial.md
+2-0clang/include/clang/Basic/AttrDocs.td
+6-45 files

LLVM/project 392fc35clang/docs AllocToken.md SafeBuffers.md, clang/docs/analyzer checkers.md

[docs] Replace clang.llvm.org/docs links with Sphinx links

Use Sphinx document and option roles or project-relative links for links
within the Clang documentation. Repair stale generated-document
fragments found while validating the replacements. This ensures that
standalone documentation builds are self-contained, although
cross-project links (Clang->LLVM) typically go via absolute llvm.org
hrefs.

Part of #214861

Assisted-by: Codex
DeltaFile
+6-6clang/docs/LifetimeSafety.md
+5-5clang/docs/LanguageExtensions.md
+4-4clang/docs/analyzer/checkers.md
+3-4clang/docs/SafeBuffers.md
+3-3clang/docs/analyzer/user-docs/Annotations.md
+2-2clang/docs/AllocToken.md
+23-2410 files not shown
+33-3716 files

LLVM/project 2e572b0llvm/docs/CommandGuide llvm-ir2vec.md

revert whitespace change
DeltaFile
+1-0llvm/docs/CommandGuide/llvm-ir2vec.md
+1-01 files