LLVM/project ebe87ballvm/lib/Transforms/Vectorize VPlan.h

[VPlan] Remove unused VPHeaderPHIRecipe::getBackedgeRecipe (NFC) (#206184)

The virtual and its VPWidenInductionRecipe override have no callers.
DeltaFile
+0-13llvm/lib/Transforms/Vectorize/VPlan.h
+0-131 files

LLVM/project 5447d6ellvm/test/Analysis/LoopAccessAnalysis clamped-access-pattern.ll bounded-access-pattern.ll, llvm/test/Transforms/LoopVectorize bounded-load-predicated.ll runtime-check-small-bounded-ranges.ll

[LV] Add range of tests accessing pointers with bounded IVs (NFC). (#205912)

Add a range of tests covering loads/stores with pointers with
bounded/clamped IV accesses, like A[i%2].
DeltaFile
+1,625-0llvm/test/Transforms/LoopVectorize/bounded-load-predicated.ll
+0-1,076llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
+1,076-0llvm/test/Analysis/LoopAccessAnalysis/bounded-access-pattern.ll
+949-0llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll
+0-949llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
+517-0llvm/test/Transforms/LoopVectorize/AArch64/bounded-load.ll
+4,167-2,0259 files not shown
+5,267-2,76115 files

LLVM/project c812222llvm/lib/Target/RISCV RISCVFrameLowering.cpp RISCVCallingConv.cpp, llvm/test/CodeGen/RISCV zero-call-used-regs-fp.ll

[RISCV] Support floating point registers with -fzero-call-used-regs (#204929)

This patch adds support for clearing floating-point registers with the
`zero-call-used-regs` attribute. It supports all combinations of
floating-point sizes (fp16, fp32, fp64, fp128) and extensions (F, D, Q).

Like #194883, this uses pseudo-instructions to clear the registers. Note
that `PseudoClearFPR64` is manually expanded in `riscv-expand-pseudo`.
For RV32, we expand it to `fcvt.d.w reg, x0, rtz`, but for RV64 we use
the more efficient `fmv.d.x reg, x0`. This also matches GCC behavior.

Finally, using non-GPR values for `zero-call-used-regs` in the Clang
driver is still rejected as the backend doesn't support clearing vector
registers.
DeltaFile
+593-0llvm/test/CodeGen/RISCV/zero-call-used-regs-fp.ll
+41-3llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
+26-0llvm/lib/Target/RISCV/RISCVCallingConv.cpp
+21-0llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
+8-4llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+10-0llvm/lib/Target/RISCV/RISCVSubtarget.h
+699-76 files not shown
+729-812 files

LLVM/project 7d68a12lldb/packages/Python/lldbsuite/test decorators.py, lldb/test/API/commands/expression/import-std-module/basic TestImportStdModule.py

[lldb][test] Require macOS 16 SDK or higher for import-std-module tests (#206173)
DeltaFile
+27-0lldb/packages/Python/lldbsuite/test/decorators.py
+2-0lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
+2-0lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py
+1-0lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
+1-0lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
+1-0lldb/test/API/commands/expression/import-std-module/vector/TestVectorFromStdModule.py
+34-026 files not shown
+60-032 files

LLVM/project 75394f2libcxx/utils conformance

[libc++] Specify `encoding='utf-8'` in `conformance` script (#189534)

In some environments, especially Windows with active code page other
than 65001, some characters in the CSV files cause parse errors without
explicitly specifying the UTF-8 encoding.

Explicitly using `encoding='utf-8'` in `click.File` fixes such errors.
DeltaFile
+9-9libcxx/utils/conformance
+9-91 files

LLVM/project 1924702clang/docs LanguageExtensions.rst LanguageExtensions.md

Merge users/rnk/clang-md-1b into markdown-docs
DeltaFile
+0-7,392clang/docs/LanguageExtensions.rst
+6,973-0clang/docs/LanguageExtensions.md
+0-1,182clang/docs/ThreadSafetyAnalysis.rst
+0-1,181clang/docs/ReleaseNotes.rst
+1,121-0clang/docs/ThreadSafetyAnalysis.md
+1,105-0clang/docs/ReleaseNotes.md
+9,199-9,75536 files not shown
+14,903-15,70342 files

LLVM/project 7bb681f.github new-prs-labeler.yml, llvm/docs LangRef.rst LangRef.md

Merge users/rnk/llvm-md-langref into markdown-docs
DeltaFile
+0-33,105llvm/docs/LangRef.rst
+30,177-0llvm/docs/LangRef.md
+1-1llvm/docs/AddingConstrainedIntrinsics.rst
+1-1.github/new-prs-labeler.yml
+30,179-33,1074 files

LLVM/project d6abe69llvm/docs MergeFunctions.rst MergeFunctions.md

Merge users/rnk/llvm-md-3b into markdown-docs
DeltaFile
+0-785llvm/docs/MergeFunctions.rst
+759-0llvm/docs/MergeFunctions.md
+0-522llvm/docs/MyFirstTypoFix.rst
+0-511llvm/docs/Vectorizers.rst
+497-0llvm/docs/Vectorizers.md
+470-0llvm/docs/MyFirstTypoFix.md
+1,726-1,81838 files not shown
+5,184-5,46244 files

LLVM/project 89d8634bolt/test/X86 infer_no_exits.test

[bolt] Prevent using inplace to add compatibility

BSD sed doesn't implement -i as inplaced modify file. We use copy and
replace as a workaround to avoid this.
DeltaFile
+2-1bolt/test/X86/infer_no_exits.test
+2-11 files

LLVM/project 7b8b8fflibcxxabi/test test_fallback_malloc.pass.cpp

[libc++abi] Fix alternate deletions in exhaustion tests (#193130)

Fixes #192773
DeltaFile
+3-3libcxxabi/test/test_fallback_malloc.pass.cpp
+3-31 files

LLVM/project 1d92a05clang/docs ReleaseNotes.rst, clang/lib/Sema SemaTemplate.cpp

[clang] use typo-corrected name qualifier for template names

This also prevents error-recovery from forming a member specialization which is
not a class member, which leads to crashes-on-invalid.

Fixes #204561
DeltaFile
+12-0clang/test/SemaCXX/typo-correction.cpp
+8-0clang/lib/Sema/SemaTemplate.cpp
+3-2clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
+1-0clang/docs/ReleaseNotes.rst
+24-24 files

LLVM/project 972caa1clang/tools/driver cc1_main.cpp, llvm/include/llvm/MC MCSubtargetInfo.h

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+28-14llvm/include/llvm/MC/MCSubtargetInfo.h
+15-14llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+12-11llvm/lib/MC/MCSubtargetInfo.cpp
+6-6clang/tools/driver/cc1_main.cpp
+4-4llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
+3-3llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
+68-524 files not shown
+77-6110 files

LLVM/project 1c9cb76libc/shared builtins.h, libc/shared/builtins divtf3.h

[libc] add shared divtf3 builtin (#205671)

Re-exposes LLVM-libc's `__divtf3` as `shared::divtf3` for reuse by
compiler-rt's builtins.

Stacked change - merge these first:
- #200094
- #205669
- #205670

Part of #197824
DeltaFile
+38-0libc/src/__support/builtins/divtf3.h
+35-0libc/shared/builtins/divtf3.h
+10-0libc/src/__support/builtins/CMakeLists.txt
+2-0libc/test/shared/shared_builtins_test.cpp
+1-0libc/test/shared/CMakeLists.txt
+1-0libc/shared/builtins.h
+87-06 files

LLVM/project b5434c7lldb/tools/driver Platform.h

[lldb][Windows] use Unicode path limit (#206060)

`MAX_PATH` is defined as `260`. `PosixApi.h` already defines `PATH_MAX`
as `32,768` characters which is the max path limit for Unicode paths on
Windows.

Use this in lldb on Windows to avoid path truncation.
DeltaFile
+1-5lldb/tools/driver/Platform.h
+1-51 files

LLVM/project 22349e7llvm/lib/Target/X86 X86AsmPrinter.h

[X86] Mark AsmPrinter Module Passes as Required (#206164)

This won't impact them working on optnone functions, but could impact
whether or not they get called in opt-bisect, which would be wrong.
DeltaFile
+2-2llvm/lib/Target/X86/X86AsmPrinter.h
+2-21 files

LLVM/project 2880a2eclang/test/CIR/CodeGenBuiltins/RISCV riscv-xcvalu.c, lldb/source/Host/common DomainSocket.cpp

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+927-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUContiguityAnalysis.cpp
+256-0mlir/test/Dialect/XeGPU/contiguity-analysis.mlir
+0-247lldb/source/Host/posix/DomainSocket.cpp
+212-0lldb/source/Host/common/DomainSocket.cpp
+145-0clang/test/CIR/CodeGenBuiltins/RISCV/riscv-xcvalu.c
+142-0mlir/test/Dialect/OpenACC/acc-recipe-materialization-loc.mlir
+1,682-247129 files not shown
+4,357-856135 files

LLVM/project d285e74flang/lib/Lower/OpenMP OpenMP.cpp DataSharingProcessor.cpp, flang/lib/Semantics check-omp-variant.cpp

[flang][OpenMP] Support lowering of metadirective (part 3)

Enable metadirective lowering for loop-associated variants such as
`do`, `simd`, `parallel do`, and `do simd`.

When a metadirective resolves to a loop-associated directive, the
associated DO construct is made available to the selected variant so
existing OpenMP loop lowering can process it. Standalone metadirectives
use the following sibling DO evaluation, while begin/end metadirectives
use the first substantive nested evaluation from the metadirective block.

For example, when the `vendor(llvm)` selector matches:

    !$omp metadirective when(implementation={vendor(llvm)}: parallel do)
    do i = 1, n
      y(i) = a*x(i) + y(i)
    end do

the selected `parallel do` variant is lowered with the DO loop that

    [66 lines not shown]
DeltaFile
+476-0flang/test/Lower/OpenMP/metadirective-loop.f90
+240-8flang/lib/Lower/OpenMP/OpenMP.cpp
+101-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+88-2flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+50-0flang/lib/Semantics/check-omp-variant.cpp
+28-4flang/lib/Lower/OpenMP/Utils.cpp
+983-147 files not shown
+1,032-2613 files

LLVM/project a9c1e6fllvm/lib/Target/Lanai LanaiCodeGenPassBuilder.cpp LanaiDelaySlotFiller.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+95-0llvm/lib/Target/Lanai/LanaiCodeGenPassBuilder.cpp
+50-25llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp
+46-24llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
+39-0llvm/lib/Target/Lanai/LanaiAsmPrinter.h
+36-0llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
+27-8llvm/lib/Target/Lanai/Lanai.h
+293-575 files not shown
+332-6211 files

LLVM/project d121cb8llvm/lib/Target/Lanai LanaiCodeGenPassBuilder.cpp LanaiDelaySlotFiller.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+95-0llvm/lib/Target/Lanai/LanaiCodeGenPassBuilder.cpp
+50-25llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp
+46-24llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
+39-0llvm/lib/Target/Lanai/LanaiAsmPrinter.h
+36-0llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
+27-8llvm/lib/Target/Lanai/Lanai.h
+293-576 files not shown
+333-6512 files

LLVM/project 4345814llvm/lib/Target/Lanai LanaiDelaySlotFiller.cpp LanaiMemAluCombiner.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+50-25llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp
+46-24llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
+69-0llvm/lib/Target/Lanai/LanaiCodeGenPassBuilder.cpp
+27-8llvm/lib/Target/Lanai/Lanai.h
+22-0llvm/lib/Target/Lanai/LanaiPassRegistry.def
+4-4llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
+218-613 files not shown
+231-629 files

LLVM/project 05bcab0llvm/lib/Target/Lanai LanaiCodeGenPassBuilder.cpp LanaiDelaySlotFiller.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+95-0llvm/lib/Target/Lanai/LanaiCodeGenPassBuilder.cpp
+50-25llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp
+46-24llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
+39-0llvm/lib/Target/Lanai/LanaiAsmPrinter.h
+36-0llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
+27-8llvm/lib/Target/Lanai/Lanai.h
+293-575 files not shown
+332-6211 files

LLVM/project 1b91f47libcxx/include tuple, libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.rel tuple_size_self_reference.compile.pass.cpp

[libc++] Fix instantiation of incomplete type when evaluating tuple comparisons (#204679)

Instantiating std::tuple<T...> in C++23 and later would require
computing tuple_size_v of the tuple type itself, because the
hidden-friend operator<=> and analogous comparison operators query it
for its return type. That can lead to a hard error if instantiating
tuple_size requires the type to be complete.

This patch resolves that problem by refactoring the metaprogramming
around these comparison operators. As a side effect, this should also be
slightly more efficient at compile-time because we don't cause the
instantiation of tuple_element for the current tuple.

rdar://179086119
DeltaFile
+27-27libcxx/include/tuple
+35-0libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.rel/tuple_size_self_reference.compile.pass.cpp
+18-9libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_comparison.verify.cpp
+80-363 files

LLVM/project c7e0082llvm/lib/Target/RISCV RISCVFeatures.td, llvm/unittests/TargetParser RISCVTargetParserTest.cpp

[RISCV] Ignore Tune Features for Inlining (#205940)

Using the new InlineBehavior field of SubtargetFeature, ensure that
RISC-V's tuning related features do not prevent inlining.

Architecture features still prevent inlining.
DeltaFile
+25-17llvm/lib/Target/RISCV/RISCVFeatures.td
+2-1llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
+27-182 files

LLVM/project 1485386llvm/lib/Target/Hexagon HexagonPostRAHandleQFP.cpp HexagonXQFloatGenerator.cpp, llvm/test/CodeGen/Hexagon/autohvx xqf-normalization-assert.ll xqf-fixup-qfp1.ll

[Hexagon] Add XQFloat code generation and post-RA QFP handling (#198902)

Introduce two new passes for the Hexagon HVX floating-point pipeline,
targeting v79+ where QFloat (qf16/qf32) is the native HVX FP format.

HexagonXQFloatGenerator lowers IEEE-754 HVX floating-point sequences
(sf/hf) to native QFloat (qf16/qf32) operations. QFloat instructions are
faster and more power-efficient than their IEEE counterparts, with
optional accuracy trade-offs. The pass exposes four modes:

  * Strict IEEE-754 compliant
* IEEE-754 compliant (extended dynamic range and subnormal precision, no
IEEE-754 overflow handling)
  * Lossy subnormals
  * Legacy

HexagonPostRAHandleQFP runs after register allocation and corrects the
spill/refill paths. QFloat operands carry four extra precision bits that
are silently dropped if the value passes through a spill slot or a

    [6 lines not shown]
DeltaFile
+1,755-0llvm/lib/Target/Hexagon/HexagonPostRAHandleQFP.cpp
+1,683-0llvm/lib/Target/Hexagon/HexagonXQFloatGenerator.cpp
+459-0llvm/test/CodeGen/Hexagon/autohvx/xqf-normalization-assert.ll
+0-372llvm/test/CodeGen/Hexagon/autohvx/xqf-fixup-qfp1.ll
+180-0llvm/test/CodeGen/Hexagon/autohvx/xqf-handle-conv.ll
+157-0llvm/test/CodeGen/Hexagon/autohvx/xqf-add-qf.ll
+4,234-37232 files not shown
+6,183-38038 files

LLVM/project 5a23aebflang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp fold-integer.cpp

Modified to prevent forward references of enumeration types.
Added a test for that non-conforming behavior.
Cleaned up and simplified code.
DeltaFile
+60-55flang/lib/Evaluate/tools.cpp
+25-38flang/lib/Semantics/check-case.cpp
+17-2flang/lib/Semantics/resolve-names.cpp
+18-0flang/test/Semantics/enumeration-type-forward-ref.f90
+3-15flang/lib/Evaluate/fold-integer.cpp
+5-0flang/include/flang/Evaluate/tools.h
+128-1102 files not shown
+134-1118 files

LLVM/project 2ceab13lldb/include/lldb/Core Diagnostics.h Debugger.h, lldb/include/lldb/Utility Diagnostics.h

[lldb] Move Diagnostics from Utility to Core (NFC) (#206152)

Nothing in the Utility or Host layers uses Diagnostics. Its only callers
are Debugger (the always-on log feeder), SBDebugger, and the
SystemInitializerCommon lifecycle. Those all live in Core or above. The
header depends only on Utility primitives (FileSpec, Log, Error), and
lldbInitialization already links lldbCore, so the move adds no new link
dependency anywhere.

Relocating it to Core lets Diagnostics reach Debugger, Target,
CommandInterpreter, and Host, which simplifies an upcoming change that
collect a richer diagnostics bundle (statistics, command snapshots,
invocation, etc) and allows us to implement that directly in the
Diagnostics class.
DeltaFile
+0-97lldb/source/Utility/Diagnostics.cpp
+97-0lldb/source/Core/Diagnostics.cpp
+59-0lldb/include/lldb/Core/Diagnostics.h
+0-59lldb/include/lldb/Utility/Diagnostics.h
+1-1lldb/include/lldb/Core/Debugger.h
+1-1lldb/source/API/SBDebugger.cpp
+158-1584 files not shown
+161-16110 files

LLVM/project e737cf0libc/shared builtins.h, libc/shared/builtins multf3.h

[libc] add shared multf3 builtin (#205670)

Re-exposes LLVM-libc's `__multf3` as `shared::multf3` for reuse by
compiler-rt's builtins.

Stacked change - merge these first:
- #200094
- #205669

Part of #197824

---------

Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
DeltaFile
+38-0libc/src/__support/builtins/multf3.h
+35-0libc/shared/builtins/multf3.h
+10-0libc/src/__support/builtins/CMakeLists.txt
+2-0libc/test/shared/shared_builtins_test.cpp
+1-0libc/test/shared/CMakeLists.txt
+1-0libc/shared/builtins.h
+87-06 files

LLVM/project ab71a85flang/lib/Support Flags.cpp, flang/test/Integration/OpenMP map-types-and-sizes.f90

[Flang][OpenMP] readd enable-delayed-privatization-staging for implic… (#204466)

…t firstprivate

In e57ebfdaefa7c2ea660878984cfe5c739f626d6b the flag
enableDelayedPrivatizationStaging was removed, enabling 
Delayed Privatization for firstprivate on OpenMP target regions, 
this resulted in regressions for implicit firstprivate tests:

This commit readds enableDelayedPrivatizationStaging flag for the implicit
case and also guards the explicit change via
`enableDelayedPrivatization` instead of enableDelayedPrivatizationStaging.
DeltaFile
+35-1flang/test/Lower/OpenMP/optional-argument-map-2.f90
+10-6flang/test/Lower/OpenMP/target-map-complex.f90
+8-4flang/test/Integration/OpenMP/map-types-and-sizes.f90
+10-1flang/test/Lower/OpenMP/target.f90
+4-2flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
+6-0flang/lib/Support/Flags.cpp
+73-149 files not shown
+94-2415 files

LLVM/project 36b687allvm/lib/Target/X86 X86TargetVerifier.cpp X86.h

[X86] Add target verifier

Add an X86 TargetVerify and register it by triple so the
TargetVerifierPass dispatches to it for X86 modules. It performs no
checks yet; the subtarget-dependent checks are added in a follow-up.
DeltaFile
+43-0llvm/lib/Target/X86/X86TargetVerifier.cpp
+6-0llvm/lib/Target/X86/X86.h
+6-0llvm/lib/Target/X86/X86TargetMachine.cpp
+1-0llvm/lib/Target/X86/CMakeLists.txt
+56-04 files

LLVM/project 6a1e3e5mlir/include/mlir-c IR.h, mlir/include/mlir/CAPI IRMapping.h

[mlir-c] Add IRMapping C API bindings

Expose IRMapping through the MLIR C API with full create/destroy/map,
lookup, contains/erase, and clone-with-mapping functionality.
DeltaFile
+116-0mlir/test/CAPI/ir.c
+89-0mlir/include/mlir-c/IR.h
+85-0mlir/lib/CAPI/IR/IR.cpp
+43-0mlir/test/CAPI/rewrite.c
+18-0mlir/include/mlir/CAPI/IRMapping.h
+7-0mlir/lib/CAPI/Transforms/Rewrite.cpp
+358-01 files not shown
+363-07 files