LLVM/project 572743c — lldb/cmake/modules LLDBStandalone.cmake, lldb/test/Shell/Driver TestBugReportURL.test

[lldb/CMake] Set LLDB_BUG_REPORT_URL in standalone builds (#239828)

When lldb crashes, the driver tells the user where to file a bug, but in
a standalone LLDB build the URL is missing:

```
  PLEASE submit a bug report to  and include the crash report from ~/Library/Logs/DiagnosticReports/.
```

`LLDB_BUG_REPORT_URL` is only defined in `llvm/CMakeLists.txt`, which a
standalone build never processes, and `LLVMConfig.cmake` doesn't export
it, so `Config.h` ends up with an empty string.

This patch solves that by defining `BUG_REPORT_URL` and
`LLDB_BUG_REPORT_URL` in `LLDBStandalone.cmake` with the same defaults
as a unified build, like clang does in its standalone build.

The test crashes lldb with a null pointer dereference because the
message isn't printed when lldb crashes by calling abort().

    [5 lines not shown]
DeltaFile
+12-0lldb/test/Shell/Driver/TestBugReportURL.test
+5-0lldb/cmake/modules/LLDBStandalone.cmake
+17-02 files

LLVM/project 8cc973d — llvm/docs SphinxQuickstartTemplate.md, utils/docs/llvm_sphinx __init__.py

[docs] Add a shared intersphinx inventory for LLVM projects

Define the documentation sites of the LLVM subprojects in one place so each
project's Sphinx configuration can resolve cross-project links through
intersphinx instead of absolute URLs. The mapping is not used by any project
yet; follow-up changes adopt it. Document the `inv:` link syntax in the Sphinx
quickstart so authors know how to write these links.

Part of #214861

LLM-aided
DeltaFile
+47-0llvm/docs/SphinxQuickstartTemplate.md
+14-0utils/docs/llvm_sphinx/__init__.py
+61-02 files

LLVM/project 157feb2 — clang/docs ClangOffloadBundler.md ClangTools.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

LLM-aided
DeltaFile
+11-11clang/docs/LanguageExtensions.md
+6-6clang/docs/ThinLTO.md
+6-6clang/docs/InternalsManual.md
+5-6clang/docs/ClangTools.md
+4-5clang/docs/ClangOffloadBundler.md
+4-4clang/include/clang/Basic/AttrDocs.td
+36-3829 files not shown
+78-8335 files

LLVM/project f23bd58 — llvm/docs CodingStandards.md CMake.md

[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

LLM-aided
DeltaFile
+18-17llvm/docs/LangRef.md
+6-7llvm/docs/LibFuzzer.md
+5-6llvm/docs/GettingStarted.md
+4-4llvm/docs/AMDGPUUsage.md
+3-4llvm/docs/CodingStandards.md
+3-4llvm/docs/CMake.md
+39-4219 files not shown
+64-7025 files

LLVM/project eceaa08 — llvm/include/llvm/Support KnownFPClass.h

[KnownFPClass][NFC] Remove DenormalMode default arguments (#237074)

Removes the `DenormalMode` default arguments from `KnownFPClass`
functions. Currently, all in-tree callers explicitly pass the
`DenormalMode` anyways.

Motivated by ongoing issues with the handling of the `NSZ` flag. The
current proposal for correctly handling the `NSZ` flag is to handle it
the same way that input denormal modes are handled via the
`applyInputDenormalMode` helper. This would require adding an `NSZ`
parameter to almost every `KnownFPClass` function. However, one pattern
I've noticed is that applying the input/output denormal mode inside or
outside of the `KnownFPClass` function makes no difference. So I think
the better way forward would be to move `DenormalMode` handling outside
of the `KnownFPClass` functions completely, and have all `KnownFPClass`
functions assume the IEEE input/output denormal mode. The main exception
to this is `KnownFPClass::fmuladd` since it applies input/output
denormal flushing as an intermediate step.


    [6 lines not shown]
DeltaFile
+59-74llvm/include/llvm/Support/KnownFPClass.h
+59-741 files

LLVM/project 378916e — llvm/lib/Target/LoongArch LoongArchOptWInstrs.cpp

LoongArch: Remove clearKillFlags calls on virtual registers (#239804)

Kill flags are no longer permitted on virtual registers, so clearing
them is a no-op. Remove the calls where the register can only be
virtual.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-1llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
+0-11 files

LLVM/project b93f6bf — llvm/docs CodingStandards.md CMake.md

[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

LLM-aided
DeltaFile
+18-17llvm/docs/LangRef.md
+6-7llvm/docs/LibFuzzer.md
+5-6llvm/docs/GettingStarted.md
+4-4llvm/docs/AMDGPUUsage.md
+3-4llvm/docs/CodingStandards.md
+3-4llvm/docs/CMake.md
+39-4219 files not shown
+64-7025 files

LLVM/project 0b6b715 — utils/docs/llvm_sphinx __init__.py

[docs] Add a shared intersphinx inventory for LLVM projects

Define the documentation sites of the LLVM subprojects in one place so each
project's Sphinx configuration can resolve cross-project links through
intersphinx instead of absolute URLs. The mapping is not used by any project
yet; follow-up changes adopt it.

Part of #214861

LLM-aided
DeltaFile
+14-0utils/docs/llvm_sphinx/__init__.py
+14-01 files

LLVM/project 025e40a — clang/docs ClangOffloadBundler.md ClangTools.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

LLM-aided
DeltaFile
+11-11clang/docs/LanguageExtensions.md
+6-6clang/docs/ThinLTO.md
+6-6clang/docs/InternalsManual.md
+5-6clang/docs/ClangTools.md
+4-5clang/docs/ClangOffloadBundler.md
+4-4clang/include/clang/Basic/AttrDocs.td
+36-3829 files not shown
+78-8335 files

LLVM/project f03dd09 — llvm/lib/Target/SystemZ SystemZISelLowering.cpp SystemZXPLINKAsmPrinter.cpp, llvm/test/CodeGen/SystemZ zos-naked.ll

[SystemZ][z/OS] Support naked functions as XPLINK stubs

A function with the `naked` attribute has no prologue or epilogue. On
z/OS XPLINK it maps to a stub function, which has a stub entry marker
instead of the normal entry point marker and has no PPA1.

AsmPrinter:
* For naked functions, emitFunctionEntryLabel() no longer calls
  calculatePPA1() and no longer emits the 16-byte entry point marker.
  It emits an 8-byte stub marker (eyecatcher 0x00C300C500C500, mark type
  C'4'), preceded by 8 bytes of zero padding. The padding keeps the
  entry
  point at function start + 16, the same offset as for a normal
  function.
* emitFunctionBodyEnd() returns early for naked functions. Otherwise it
  would use DeferredPPA1.back(), which is the previous function's entry
  or an empty vector.

ISel:

    [18 lines not shown]
DeltaFile
+112-0llvm/test/CodeGen/SystemZ/zos-naked.ll
+56-37llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
+24-14llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+192-513 files

LLVM/project 0f14737 — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp

Formatting

Change-Id: I18ed65c34f9afe8c590d321858efd87ea73a11df
DeltaFile
+4-2llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+4-21 files

LLVM/project d688679 — llvm/lib/Target/AMDGPU SIFoldOperands.cpp

[AMDGPU] Remove write-only RegIdx in ANDMaskResult (NFC) (#239808)

The last read of ANDMaskResult::RegIdx in SIFoldOperands.cpp was removed
on November 6, 2026 in commit 54c4c971aaba65906dc9036e46104e75220e8cbc.

Assisted-by: Antigravity
DeltaFile
+3-4llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+3-41 files

LLVM/project 6cfe6eb — clang/lib/CIR/Dialect/Transforms CIRABIClassifier.cpp, clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

[CIR] Add support for direct with align in calling convention lowering (#238929)

This change adds the infrastructure for handling arguments that are
classified as `Direct` with a required alignment. These arguments are
passed unmodified but required an `alignstack` attribute. There are no
cases where this is needed for x86, so these changes can only be tested
via unit tests. This support will be needed when AAPCS targets are
supported.

See clang/test/CodeGen/AArch64/args-hfa.c for an example of this
classification in classic codegen.

Assisted-by: Cursor / various models
DeltaFile
+39-0clang/test/CIR/Transforms/abi-lowering/direct-alignstack.cir
+34-0mlir/unittests/ABI/TestTargetTest.cpp
+17-10clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+17-6mlir/include/mlir/ABI/ABIRewriteContext.h
+14-8clang/lib/CIR/Dialect/Transforms/CIRABIClassifier.cpp
+14-4mlir/lib/ABI/Targets/Test/TestTarget.cpp
+135-281 files not shown
+138-287 files

LLVM/project 57177a8 — clang/test/OpenMP dims_modifier_codegen.cpp

Add codegen test
DeltaFile
+14,789-0clang/test/OpenMP/dims_modifier_codegen.cpp
+14,789-01 files

LLVM/project c42928e — lldb/include/lldb/Target LanguageRuntime.h, lldb/source/Expression DWARFExpression.cpp

[lldb] Add LanguageRuntime::EvaluateEntryValue (NFC) (#239813)

DW_OP_entry_value(reg) is the value reg had on entry to the function.
LLDB looks it up in the call site parameters of the caller, but a
language runtime may know it without them. Swift async functions, for
example, receive their async context in a register, and the Swift
runtime's unwind plan makes that context the CFA of the frame. The frame
above an async function in the backtrace is its continuation, not its
caller, so there are no call site parameters to find.

This patch adds a LanguageRuntime hook that DWARFExpression calls before
it searches the caller. The runtime may also consume operations after
the DW_OP_entry_value and evaluate them together with it, when it knows
their combined result but not the entry value alone.

Assisted-by: Claude
DeltaFile
+124-0lldb/unittests/Expression/DWARFExpressionTest.cpp
+41-0lldb/source/Expression/DWARFExpression.cpp
+21-0lldb/include/lldb/Target/LanguageRuntime.h
+186-03 files

LLVM/project e4cb8ce — llvm/include/llvm/Analysis VecFuncs.def, llvm/include/llvm/IR RuntimeLibcalls.td

[RISCV][veclib] Remove non-existent Sleef_ilogbfx_rvvm2 and Sleef_ldexpfx_rvvm2 entries (#238910)

When compiling for RISC-V with `-vector-library=sleefgnuabi`, LLVM maps
`ilogbf` and `ldexpf` to `Sleef_ilogbfx_rvvm2` and
`Sleef_ldexpfx_rvvm2`.

However, SLEEF does not implement single-precision (`f32`) versions for
`ilogb` and `ldexp` for any architecture. Only the double-precision
`f64` functions exist. Because of this, programs that vectorize these
functions fail to link due to missing symbols.

This patch removes both invalid entries from `VecFuncs.def` and
`RuntimeLibcalls.td` and updates the tests. The 64-bit entries
(`Sleef_ilogbdx_rvvm2` and `Sleef_ldexpdx_rvvm2`) are valid and are kept
intact.

Fixes #235694.
DeltaFile
+153-159llvm/test/Transforms/LoopVectorize/RISCV/veclib-function-calls.ll
+0-4llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef-riscv.ll
+0-2llvm/include/llvm/IR/RuntimeLibcalls.td
+0-2llvm/include/llvm/Analysis/VecFuncs.def
+153-1674 files

LLVM/project cad8f50 — llvm/lib/CodeGen WasmEHPrepare.cpp, llvm/test/CodeGen/WebAssembly wasm-eh-prepare.ll

[WebAssembly] Fix comments about _Unwind_GetWasmLPadContext (#239441)

After #222747, code generated by WasmEHPrepare does not access
`__wasm_lpad_context` directly and use `_Unwind_GetWasmLPadContext`, but
it was not reflected in the code comments.
DeltaFile
+11-9llvm/lib/CodeGen/WasmEHPrepare.cpp
+1-2llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
+12-112 files

LLVM/project e5b40e7 — llvm/test/CodeGen/AMDGPU global-load-xcnt.ll integer-mad-patterns.ll, llvm/test/CodeGen/AMDGPU/GlobalISel mul.ll

[AMDGPU] Replace getRepeatRate with getBlockingCycles

Change-Id: I5598664f64fc010bc1b8fed0c3a1b53477ef208b
DeltaFile
+76-38llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
+42-49llvm/test/CodeGen/AMDGPU/bf16.ll
+28-33llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
+27-28llvm/test/CodeGen/AMDGPU/slp-int-to-fp.ll
+22-25llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+23-23llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
+218-19620 files not shown
+336-33226 files

LLVM/project c7abec6 — llvm/test/Transforms/Util/DeclareRuntimeLibcalls systemz.ll sparc.ll

[RuntimeLibcalls] Add __ctz* libcalls (#239788)
DeltaFile
+15-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+12-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+9-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+9-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+6-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+6-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sparc.ll
+57-09 files not shown
+98-015 files

LLVM/project ee4a54d — llvm/test/CodeGen/AMDGPU global-load-xcnt.ll integer-mad-patterns.ll, llvm/test/CodeGen/AMDGPU/GlobalISel mul.ll

[AMDGPU] Replace getRepeatRate with getBlockingCycles

Change-Id: I5598664f64fc010bc1b8fed0c3a1b53477ef208b
DeltaFile
+76-38llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
+42-49llvm/test/CodeGen/AMDGPU/bf16.ll
+28-33llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
+27-28llvm/test/CodeGen/AMDGPU/slp-int-to-fp.ll
+22-25llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+23-23llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
+218-19620 files not shown
+330-32626 files

LLVM/project 655605f — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls systemz.ll ppc.ll

RuntimeLibcalls: Add _Unwind_RaiseException (#239840)

This exists in libunwind and libgcc. BPF is currently emitting a call
to this directly by name.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+6-2llvm/include/llvm/IR/RuntimeLibcalls.td
+5-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+4-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+3-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+3-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+2-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/systemz.ll
+23-27 files not shown
+35-213 files

LLVM/project 41984e8 — lldb/source/Core ThreadedCommunication.cpp, lldb/test/API/commands/process/detach-launched Makefile main.c

[lldb] Interrupt the read thread when stopping it

ThreadedCommunication::StopReadThread clears m_read_thread_enabled and
joins the read thread, which checks that flag only once its read
returns. When no data comes, the read returns only when it times out,
after five seconds.

Before lldb reports that a process it launched has exited or that it
detached from the process, it stops the read thread of the process's
terminal. A process that lldb detaches from usually keeps running, and
if it does not write to its terminal, the detach takes five seconds.
StopSTDIOMonitoring closes lldb's own descriptor for the secondary side
of the terminal first, but that ends the read only once the process has
closed its descriptors too. Meanwhile, debugserver or lldb-server exits,
and since the process is not detached yet, ProcessGDBRemote gives it an
exit status, so lldb reports that the process exited.

Interrupt the read after clearing the flag, as SynchronizeWithReadThread
does. A connection reports an interrupt only when no data is pending,

    [4 lines not shown]
DeltaFile
+27-0lldb/test/API/commands/process/detach-launched/TestDetachLaunched.py
+9-0lldb/test/API/commands/process/detach-launched/main.c
+5-0lldb/source/Core/ThreadedCommunication.cpp
+3-0lldb/test/API/commands/process/detach-launched/Makefile
+44-04 files

LLVM/project 4c334bf — llvm/test/CodeGen/AMDGPU lshl-add-u64.ll

Cleanup unused prefixes

Change-Id: I7da444568de358f234d58df60e9b1a483f115c7c
DeltaFile
+4-7llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
+4-71 files

LLVM/project a7650c8 — clang/lib/Headers amdgpuintrin.h, clang/test/Headers gpuintrin.c

[Clang] Fix thread sync in amdgpuintrin.h (#239832)

Summary:
This should be doing the same operation the one in HIP does. The
intrinsic doesn't have a fenec associated with it so we emit it
manually.
DeltaFile
+2-1clang/test/Headers/gpuintrin.c
+2-1clang/lib/Headers/amdgpuintrin.h
+4-22 files

LLVM/project 7fd3ba2 — llvm/lib/Target/RISCV RISCVFoldMemOffset.cpp RISCVVectorPeephole.cpp

RISCV: Remove clearKillFlags calls (#239838)

Kill flags on physical registers here are either never set by the time
this code runs or are on reserved or constant registers where they
carry no information.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-5llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+0-3llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
+0-1llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
+0-93 files

LLVM/project fd76c56 — llvm/lib/Target/AMDGPU SILoadStoreOptimizer.cpp, llvm/test/CodeGen/AMDGPU merge-tbuffer-align.ll merge-tbuffer-align.mir

AMDGPU: Check address alignment when merging TBUFFER accesses

SILoadStoreOptimizer only checked the alignment of the immediate
offset when merging TBUFFER accesses, ignoring the rest of the
address. This could undo splitting done for alignment and cause
hangs. This is a theoretically stronger fix to piglit failures with
mesa which were previously hidden by conditioning this transform on
relaxed OOB mode.

Check the alignment of the whole address from the memory operand, and
assume each access is already aligned to its component size. Since the
buffer intrinsics don't provide any alignment information, accesses
with 8-bit or 16-bit components can no longer be merged from IR.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+190-0llvm/test/CodeGen/AMDGPU/merge-tbuffer-align.mir
+48-0llvm/test/CodeGen/AMDGPU/merge-tbuffer-align.ll
+9-5llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
+247-53 files

LLVM/project 3b33005 — llvm/test/CodeGen/AMDGPU lshl-add-u64.ll

[AMDGPU] NFC: Switch to AutoGen checks for a test

Change-Id: I2d08c0aea7cb214ca2a2c76eaea65b44da98653f
DeltaFile
+840-134llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
+840-1341 files

LLVM/project 5adc3c2 — llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU fcanonicalize-dpp.ll

[AMDGPU] Preserve f32 canonicalization through DPP shuffle (#233553)

Teach isCanonicalized to look through amdgcn.update.dpp when all rows
and banks are enabled and bound_ctrl selects zero for out-of-bounds
lanes. The result then consists entirely of source values or canonical
zeros.

This removes redundant canonicalization after shuffling canonical f32
values. An AITER FP8 blockwise quantization kernel compiles to 289
static instructions instead of 329 on gfx950, with unchanged register
counts and scratch usage.

Add positive and negative regression coverage.
DeltaFile
+129-0llvm/test/CodeGen/AMDGPU/fcanonicalize-dpp.ll
+16-0llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+145-02 files

LLVM/project 4b09846 — clang/include/clang/Lex HeaderSearch.h, clang/lib/Lex HeaderSearch.cpp

[clang][Lex][NFC] Share directory module map processing (#239538)

Share directory cache handling and module map discovery between
`parseModuleMapFile` and `parseAndLoadModuleMapFile`. Use an explicit
`Load` parameter to preserve their distinct processing and cache state
updates.
DeltaFile
+21-40clang/lib/Lex/HeaderSearch.cpp
+4-0clang/include/clang/Lex/HeaderSearch.h
+25-402 files

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

[Support][mlir][llvm-mc] Support column checks in verify directives (#227570)

Allow an optional 1-based `:<col>` after the line specifier, e.g.
`expected-error@-1:8 {{...}}`, which additionally requires the
diagnostic to be at that column. Directives without a column still match
any column on their line. This also works for MLIR's
`-verify-diagnostics`.

Note that in Clang, `@<file>:<line>` instead refers to a line in another
file, but file-qualified directives are not supported here.

Assisted-by: AI tooling
Pull-Request: https://github.com/llvm/llvm-project/pull/227570
DeltaFile
+22-8llvm/lib/Support/SourceMgrDiagnosticVerifier.cpp
+15-10llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+22-2llvm/test/tools/llvm-mc/verify/basic.s
+6-4mlir/docs/Diagnostics.md
+4-1llvm/tools/llvm-mc/llvm-mc.cpp
+4-1llvm/docs/CommandGuide/llvm-mc.md
+73-261 files not shown
+75-277 files