LLVM/project 50a2e93libc/src/__support/printf_core float_dec_converter.h, libc/src/stdio/printf_core float_dec_converter.h

Rebase

Created using spr 1.3.7
DeltaFile
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+1,889-0llvm/test/CodeGen/AArch64/sve-multivector-load-stores.ll
+0-1,526llvm/test/CodeGen/AArch64/sve-multivector-loads.ll
+1,248-0libc/src/__support/printf_core/float_dec_converter.h
+0-1,248libc/src/stdio/printf_core/float_dec_converter.h
+442-520llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
+16,647-3,294649 files not shown
+43,550-15,188655 files

LLVM/project 03a2052flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][Lower] Admit opaque terms to real sum reassociation

First part of follow-ups for generalisations requested in #207377.

The split-sum eligibility check rejected any RHS containing explicit
parentheses or subtraction, even though the Add flattener already
preserves every non-Add subtree as one opaque term.

Remove those blanket guards and their unused predicates. Document the
opaque-term invariant and extend the test to cover parenthesized
additions and subtractions, whole-RHS parentheses, and subtraction
terms.

Assisted-by: Codex
DeltaFile
+184-21flang/test/Lower/split-sum-expression-tree-lowering.f90
+4-32flang/lib/Evaluate/tools.cpp
+0-6flang/include/flang/Evaluate/tools.h
+188-593 files

LLVM/project badd93dclang/lib/CIR/CodeGen CIRGenExpr.cpp CIRGenValue.h

[CIR][NFC] Remove unreachable code and add missing NYIs (#211084)

Remove unreachable code and add missing NYIs for Matrix row and elt
DeltaFile
+11-4clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+1-0clang/lib/CIR/CodeGen/CIRGenValue.h
+12-42 files

LLVM/project 0cd942flldb/source/Core DumpDataExtractor.cpp, lldb/test/API/functionalities/data-formatter/builtin-formats TestBuiltinFormats.py

[lldb] Fix Unicode code point formatting to use proper notation  (#211131)

- use uppercase hex digits

- only emit "U+" notation for valid code points (<= U+10FFFF),
zero-padded to a minimum of four digits.

rdar://173817553

Assisted-by: claude
DeltaFile
+11-4lldb/source/Core/DumpDataExtractor.cpp
+10-1lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py
+9-2lldb/unittests/Core/DumpDataExtractorTest.cpp
+5-5lldb/test/Shell/SymbolFile/NativePDB/globals-fundamental.cpp
+2-4lldb/test/API/lang/cpp/char1632_t/TestChar1632T.py
+37-165 files

LLVM/project 743f031libcxx/docs conf.py, libcxxabi/include cxxabi.h

[runtimes] LLVM 24 version bumps (#211262)

This patch bumps the version of libc++abi and libunwind, and libc++ in
the documentation.
DeltaFile
+2-2libcxx/docs/conf.py
+1-1libcxxabi/include/cxxabi.h
+1-1libunwind/include/__libunwind_config.h
+4-43 files

LLVM/project c416cc1flang/lib/Optimizer/Transforms/CUDA CUFAllocDelay.cpp, flang/test/Transforms/CUF cuf-alloc-delay.fir

[flang][cuda] Fix cuf-alloc-delay for host-associated allocatables (#211103)

`cuf-alloc-delay` sinks a managed descriptor's `cuf.alloc` group
(`{cuf.alloc, fir.store, fir.declare}`) to just before its first use, to
defer the managed allocation. It special-cased the store of the descriptor
into a host-association tuple slot (`fir.store` to a `fir.llvm_ptr`): it did
not count that store (nor the call that consumes the tuple) as a use, and moved
the store along with the group. As a result, when a managed allocatable descriptor
is stored into a host-association tuple and passed to an internal procedure, the group
could be sunk **past** the internal-procedure call that reads the tuple, so the
callee observed an uninitialized descriptor. On more complex tuples, moving the
host-association store also broke SSA dominance, producing
`operand #1 does not dominate this use`.

With this PR, `findDelayTarget` now treats **every** use of the
descriptor as a real use, including the host-association store. The group is only ever sunk to
*before* the first use, and the host-association store is never moved (it reads
its own `fir.coordinate_of` slot). This keeps the descriptor initialized before
the tuple is consumed and is dominance-safe by construction.
DeltaFile
+74-6flang/test/Transforms/CUF/cuf-alloc-delay.fir
+17-42flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
+91-482 files

LLVM/project 9286c58flang/lib/Optimizer/Analysis ArraySectionAnalyzer.cpp, flang/lib/Optimizer/Builder IntrinsicCall.cpp HLFIRTools.cpp

[Flang] Return APInt from getIntIfConstant (#211233)

Preserve the full bit width of integer attributes when extracting
constants from FIR values. Return llvm::APInt directly and update
fixed-width consumers to use checked signed extraction.

This avoids truncating or asserting on constants wider than 64 bits
while retaining existing fallback behavior at int64_t boundaries.

This should be NFC everywhere we didn't have a latent overflow bug. I
didn't go so far as updating the interfaces of every function built on
top of getIntIfConstant: this is mostly to make an APInt version
available because it looks useful for another PR. Fixing the builder API
to use APInt would be a larger change - let me know if anyone wants to
see that.

Assisted-by: Codex
DeltaFile
+18-15flang/lib/Optimizer/Builder/IntrinsicCall.cpp
+12-10flang/lib/Optimizer/Dialect/FIROps.cpp
+11-8flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
+10-4flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
+9-5flang/lib/Optimizer/Builder/HLFIRTools.cpp
+11-3flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
+71-4513 files not shown
+133-7419 files

LLVM/project 9d2000clldb/test/API/functionalities/memory/find TestMemoryFind.py, lldb/test/API/lang/cpp/global_operators TestCppGlobalOperators.py

[lldb][test] Skip more WebAssembly-unsupported API tests (#211305)

Skip tests that exercise features WebAssembly does not provide:
expression evaluation, registers, an ABI plugin, and unmapped memory
pages.
DeltaFile
+2-0lldb/test/API/python_api/exprpath_register/TestExprPathRegisters.py
+1-0lldb/test/API/functionalities/memory/find/TestMemoryFind.py
+1-0lldb/test/API/lang/cpp/global_operators/TestCppGlobalOperators.py
+1-0lldb/test/API/lang/cpp/static_members/TestCPPStaticMembers.py
+1-0lldb/test/API/python_api/process/address-masks/TestAddressMasks.py
+1-0lldb/test/API/python_api/process/read-mem-cstring/TestReadMemCString.py
+7-01 files not shown
+8-07 files

LLVM/project 2a874aallvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU] Move SGPR Count Queries into TargetParser (#209848)

Relocated SGPR queries from AMDGPU backend into the public TargetParser.
Part of resolving a comgr issue
(https://github.com/ROCm/llvm-project/issues/3298) to reduce
comgr-isa-metadata.def duplication.

Assisted by: Claude Code
DeltaFile
+554-688llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+61-15llvm/unittests/TargetParser/TargetParserTest.cpp
+56-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+12-37llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+15-1llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+1-12llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+699-7533 files not shown
+709-7629 files

LLVM/project f38a23bllvm/utils profcheck-xfail.txt

Exclude another coro test from profcheck (#211296)

Coro aren't yet fixed for profcheck.

(related: #207799)
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

LLVM/project 4e0a255llvm CMakeLists.txt, llvm/cmake/modules CrossCompile.cmake

[LLVM] Remove 'LLVM_LIBC_GPU_BUILD' logic (#211265)

Summary:
This is a holdover from how we used to handle this stuff. We should just
dirctly check the triple for setting the cross-compiling emulator and we
can directly introspect into the  build tree for the lit config like we
already do for flang-rt.
DeltaFile
+10-13llvm/runtimes/CMakeLists.txt
+11-4offload/test/lit.cfg
+0-13llvm/CMakeLists.txt
+0-9offload/CMakeLists.txt
+1-5llvm/cmake/modules/CrossCompile.cmake
+0-1offload/test/lit.site.cfg.in
+22-456 files

LLVM/project 65c377bllvm/include/llvm/Support SourceMgr.h, llvm/lib/MC/MCParser MasmParser.cpp AsmParser.cpp

[MC][NFC] Share some code between MasmParser and AsmParser

Factor out printIncludeStackForDiagnostic() to SourceMgr in preparation
for a follow-up commit that changes the output here. This avoids needing
to update both of them. Also add two more tests for the current output.

Pull Request: https://github.com/llvm/llvm-project/pull/210731
DeltaFile
+19-0llvm/test/MC/AsmParser/macro-like-diagnostic.s
+12-0llvm/test/tools/llvm-ml/macro_diagnostic.asm
+12-0llvm/lib/Support/SourceMgr.cpp
+2-6llvm/lib/MC/MCParser/MasmParser.cpp
+2-6llvm/lib/MC/MCParser/AsmParser.cpp
+5-0llvm/include/llvm/Support/SourceMgr.h
+52-126 files

LLVM/project 180b6e8flang/include/flang/Lower DirectivesCommon.h, flang/test/Lower/OpenMP wsloop-select-case.f90 wsloop-computed-goto.f90

Revert "[flang][PFT-to-MLIR] allocate missing body blocks in `createEmptyRegionBlocks` (#210950)"

This reverts commit b0c2dc0cf8f8de2fd2f0306deea0c5fcd07282da.
DeltaFile
+0-49flang/test/Lower/OpenMP/wsloop-select-case.f90
+0-39flang/test/Lower/OpenMP/wsloop-computed-goto.f90
+1-8flang/include/flang/Lower/DirectivesCommon.h
+1-963 files

LLVM/project 22351c7flang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP interop.f90

[Flang][OpenMP] Add support for interop construct (#203959)

This adds support for the OpenMP interop construct, which enables
interoperability with foreign runtime environments (e.g., CUDA, HIP).
The init, use, and destroy action clauses are lowered from the Fortran
parse tree to MLIR interop ops and translated to the appropriate runtime
calls. The omp_lib module is extended with interop query API interfaces,
property constants, and return code constants. A semantics fix relaxes
the depend/targetsync constraint for use/destroy directives where the
interop type was established at a separate init site. Unsupported depend
clauses and prefer_type selector-list forms emit explicit diagnostics
instead of being silently dropped.

Assisted-by: Claude Opus 4.6
DeltaFile
+175-0flang/test/Lower/OpenMP/interop.f90
+145-2flang/lib/Lower/OpenMP/OpenMP.cpp
+107-0mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+105-0openmp/module/omp_lib.h.var
+100-0mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+95-0mlir/test/Target/LLVMIR/openmp-interop.mlir
+727-213 files not shown
+1,100-1419 files

LLVM/project e0ec539mlir/cmake/modules MLIRDetectPythonEnv.cmake

[MLIR][Python] Remove stale NumPy detection message (#211235)

NumPy stopped being requested as a CMake Python component when its
unused build-time dependency was removed in #108465 . Remove the
remaining status message, which now prints empty version and include
directory values.
DeltaFile
+0-1mlir/cmake/modules/MLIRDetectPythonEnv.cmake
+0-11 files

LLVM/project 5e860eellvm/lib/Target/AArch64 AArch64LowerHomogeneousPrologEpilog.cpp, llvm/test/CodeGen/AArch64 arm64-homogeneous-prolog-epilog.ll

[AArch64] Set NoPHIs for outlined functions (#209852)
DeltaFile
+15-2llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog.ll
+5-1llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
+20-32 files

LLVM/project e205257mlir/cmake/modules MLIRDetectPythonEnv.cmake

[MLIR][Python] Remove stale Python module naming status message (#211243)

`PYTHON_MODULE_PREFIX`, `PYTHON_MODULE_SUFFIX`, and
`PYTHON_MODULE_EXTENSION` are remnants of the previous pybind11-based
Python discovery path and are no longer populated or used by the
nanobind build.

The relevant Python SOABI is already reported through `Python3_SOABI`,
so we can remove the redundant status message, which currently prints
only empty values.
DeltaFile
+0-3mlir/cmake/modules/MLIRDetectPythonEnv.cmake
+0-31 files

LLVM/project 3486c5dflang/include/flang/Optimizer/HLFIR HLFIROps.td, flang/lib/Lower ConvertExprToHLFIR.cpp

[flang] Region-based HLFIR operation for conditional expressions lowering (#194411)

Implements `hlfir.conditional`, a region-based HLFIR operation that
represents Fortran 2023 conditional expressions (10.1.2.3) with lazy
branch evaluation.
Issue #176999
Assisted-by: Claude Sonnet 4.5
DeltaFile
+452-0flang/test/HLFIR/bufferize-conditional.fir
+44-134flang/lib/Lower/ConvertExprToHLFIR.cpp
+66-76flang/test/Lower/HLFIR/conditional-expr.f90
+114-7flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
+52-5flang/include/flang/Optimizer/HLFIR/HLFIROps.td
+31-0flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
+759-2223 files not shown
+807-2229 files

LLVM/project 87ace9cflang/test/Lower nsw.f90 do_loop_unstructured.f90, flang/test/Lower/MIF change_team2.f90

[flang][PFT-to-MLIR] Default wrap-unstructured-constructs-in-execute-region to off

Flip the default of `-wrap-unstructured-constructs-in-execute-region`
from true to false while further miscompiles under the wrap path are
investigated. The flag is still available; lit tests that exercise the
wrap path now pass it explicitly on their RUN lines.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+2-2flang/test/Lower/nsw.f90
+2-2flang/test/Lower/do_loop_unstructured.f90
+2-2flang/test/Lower/OpenMP/stop-stmt-in-region.f90
+2-2flang/test/Lower/OpenMP/parallel-reduction3.f90
+2-2flang/test/Lower/OpenMP/loop-compound.f90
+2-2flang/test/Lower/MIF/change_team2.f90
+12-1215 files not shown
+28-2821 files

LLVM/project 0590a36clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp, clang/test/CIR/Transforms/abi-lowering byval-sret-arg-attr-lowering.cir

[CIR] Convert byval/sret/byref arg-attr types when lowering to LLVM (#210764)

The CallConvLowering pass lowers an indirectly-passed aggregate to a pointer argument and records the pointee record type on the `llvm.byval`, `llvm.sret`, or `llvm.byref` argument attribute.  That type payload is still a CIR record after the pass runs, so once the module reaches the LLVM dialect and is translated to LLVM IR, the translation hits a CIR type inside the attribute and fails.

LowerToLLVM already routes every operand and result type through the type converter.  It now does the same for the type carried by those three argument attributes, in the attribute lowering shared by the function definition and by the call and invoke sites.  With the conversion in place, a byval or sret parameter translates to `byval(%struct.X)` / `sret(%struct.X)` carrying the lowered LLVM struct type, and byref does the same.  CallConvLowering does not classify `cir.try_call` yet, so no invoke carries these attributes today, but the shared path already covers the invoke once it is classified.

The test injects the three attributes directly, lowers to the LLVM dialect, and translates to LLVM IR, checking the emitted attributes carry the LLVM struct type.  It uses no aggregate classifier, so it stands alone from the x86_64 classifier stack.
DeltaFile
+85-0clang/test/CIR/Transforms/abi-lowering/byval-sret-arg-attr-lowering.cir
+53-1clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+138-12 files

LLVM/project 6f3328elibcxx/include/__configuration namespace.h

[libc++] Don't add #pragma clang attribute with GCC (#206989)

GCC doesn't support `#pragma clang attribute`, which causes a bunch of
diagnostics. Since we have it behind a macro anyways we can simply
define the macro as empty with GCC.
DeltaFile
+13-8libcxx/include/__configuration/namespace.h
+13-81 files

LLVM/project 27b8216llvm/lib/Target/WebAssembly WebAssemblyCFGStackify.cpp WebAssembly.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+83-68llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
+125-26llvm/lib/Target/WebAssembly/WebAssembly.h
+81-30llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
+60-19llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+56-11llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+45-19llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
+450-17314 files not shown
+883-29820 files

LLVM/project 148ca2allvm/lib/Target/WebAssembly WebAssembly.h WebAssemblyCFGStackify.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+125-26llvm/lib/Target/WebAssembly/WebAssembly.h
+83-68llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
+81-30llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp
+56-11llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+47-19llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+45-19llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp
+437-17314 files not shown
+870-29820 files

LLVM/project 06a6c5ellvm/utils/gn/secondary/llvm/unittests/DWARFLinkerParallel BUILD.gn

[gn] port acb8fbe83ff12 more (#211295)
DeltaFile
+4-0llvm/utils/gn/secondary/llvm/unittests/DWARFLinkerParallel/BUILD.gn
+4-01 files

LLVM/project aee6075llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize BUILD.gn

[gn build] Port fdae383abe62 (#211293)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
+1-01 files

LLVM/project bf0336fllvm/utils/gn/secondary/llvm/tools/dsymutil BUILD.gn

Merge branch 'main' into users/mtrofin/mtrofin-patch-1
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
+1-01 files

LLVM/project 8b460c5llvm/utils profcheck-xfail.txt

Exclude another coro test from profcheck

Coro aren't yet fixed for profcheck.

(related: #207799)
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

LLVM/project c6257d6llvm/lib/Target/WebAssembly WebAssemblyMCLowerPrePass.cpp

fix

Created using spr 1.3.7
DeltaFile
+15-4llvm/lib/Target/WebAssembly/WebAssemblyMCLowerPrePass.cpp
+15-41 files

LLVM/project 37beabbclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver amdgpu-mcpu.cl hip-sanitize-options.hip

clang/AMDGPU: Stop passing redundant -target-cpu to cc1

Now that the exact target is encoded in the triple's subarch field,
-target-cpu is redundant. This avoids polluting the resultant IR with
unwanted "target-cpu" attributes. The net result is the desired codegen
when compiling libraries for a major subarch and linking it into a
program compiled for a specific arch. e.g., compiling for "gfx9-generic"
would pollute the IR with "target-cpu"="gfx9-generic", so codegen
would ultimately be performed for the generic target even after
linking into the concrete gfx9 cpu. The specialization will now be
achieved by merging the triples without the linker or optimization
passes needing to fixup function attributes.
DeltaFile
+62-62clang/test/Driver/amdgpu-mcpu.cl
+26-26clang/test/Driver/hip-sanitize-options.hip
+20-10clang/lib/Driver/ToolChains/CommonArgs.cpp
+12-16clang/test/Driver/hip-rdc-device-only.hip
+24-0clang/test/Preprocessor/amdgpu-subarch-cc1-target-cpu.cl
+10-10clang/test/Driver/amdgpu-xnack-sramecc-flags.c
+154-12427 files not shown
+214-21133 files

LLVM/project 818c7c5clang/lib/Basic OffloadArch.cpp, clang/lib/Driver Driver.cpp

clang: Start using new amdgpu subarch triples

Fixup invocations using --target=amdgcn + -mcpu to introduce
the subarch in the triple.

For offload toolchains, a single toolchain is constructed for the
top level amdgpu architecture, and the effective triple is used for
target specific tool invocations.

The specifics of the resource directory layout are tbd. This does
try to find resources in the subarch named directory. The paths
are searched at toolchain creation time, so that does not work
when there are multiple subarches.

Fixes #154925
DeltaFile
+234-2clang/lib/Basic/OffloadArch.cpp
+59-59clang/test/Driver/offload-arch-translation-amdgpu.cu
+43-43clang/test/Driver/hip-phases.hip
+33-33clang/test/Driver/hip-binding.hip
+48-14clang/lib/Driver/ToolChains/CommonArgs.cpp
+43-12clang/lib/Driver/Driver.cpp
+460-163108 files not shown
+1,262-504114 files