LLVM/project 9722a2cmlir/include/mlir/IR StorageUniquerSupport.h

[mlir][IR] Avoid Clang 21 crash during SFINAE overload resolution (#208359)

Clang 21.1.8 segfaults during SFINAE overload resolution for
T::getChecked
when matching non-pointer arguments against an unconstrained
MLIRContext*
parameter.

This patch avoids the crash by adding an explicit SFINAE constraint to
the second overload of StorageUserBase::getChecked, ensuring that it is
only considered when the second argument is convertible to MLIRContext*.

Assisted-by: Antigravity
DeltaFile
+9-2mlir/include/mlir/IR/StorageUniquerSupport.h
+9-21 files

LLVM/project ac41056llvm/lib/Target/BPF BPFMIPeephole.cpp

BPF: Remove unnecessary isReg check for copy source
DeltaFile
+0-3llvm/lib/Target/BPF/BPFMIPeephole.cpp
+0-31 files

LLVM/project 5ffb104clang/lib/Frontend InitPreprocessor.cpp, clang/lib/Headers stdint.h

[Clang] Define `__WCHAR_MIN__` and related macros (#208135)

Define `__WCHAR_MIN__`, `__WINT_MIN__`, and `__SIG_ATOMIC_MIN__` for
compatibility with GCC.

This also fixes targets such as `riscv*-netbsd` that define `WCHAR_MIN`
from `__WCHAR_MIN__`.

Reference:
https://gcc.gnu.org/onlinedocs/gcc-16.1.0/cpp/Common-Predefined-Macros.html
Closes #199678
DeltaFile
+44-44clang/test/Preprocessor/stdint.c
+5-14clang/lib/Headers/stdint.h
+11-0clang/lib/Frontend/InitPreprocessor.cpp
+8-0clang/test/Preprocessor/init-riscv.c
+4-0clang/test/Preprocessor/init.c
+3-0clang/test/Preprocessor/init-aarch64.c
+75-581 files not shown
+76-587 files

LLVM/project 6cdade4llvm/lib/Target/BPF BPFMIPeephole.cpp, llvm/test/CodeGen/BPF mov32-64-subreg-source.mir

BPF: Fix misfolding subregisters

This would end up introducing a copy between registers
with mismatched sizes previously. Defends against verifier
failures in a future change.

The actual transform here should be deleted. Optimizations should
not be trying to introduce SUBREG_TO_REG.
DeltaFile
+43-0llvm/test/CodeGen/BPF/mov32-64-subreg-source.mir
+7-3llvm/lib/Target/BPF/BPFMIPeephole.cpp
+50-32 files

FreeBSD/src 6756f09sys/conf newvers.sh

newvers.sh: Avoid spurious -dirty in git revision

If git is installed and .git exists but git rev-parse failed to report a
hash we previously produced just "-dirty" as the git revision.  Gate the
git commit count and -dirty check on the rev-parse passing.

Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57995

(cherry picked from commit 465a3b7adc008c068741594f6c922ede98924f39)
(cherry picked from commit 45da2c1e1d202ab190f156dd63403be79fb11e94)
DeltaFile
+15-13sys/conf/newvers.sh
+15-131 files

FreeBSD/src 45da2c1sys/conf newvers.sh

newvers.sh: Avoid spurious -dirty in git revision

If git is installed and .git exists but git rev-parse failed to report a
hash we previously produced just "-dirty" as the git revision.  Gate the
git commit count and -dirty check on the rev-parse passing.

Reviewed by:    jlduran
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57995

(cherry picked from commit 465a3b7adc008c068741594f6c922ede98924f39)
DeltaFile
+15-13sys/conf/newvers.sh
+15-131 files

LLVM/project aaad8b0clang/docs UsersManual.md StandardCPlusPlusModules.md

[clang][docs] Rewrite 20 selected Clang docs from reST to Markdown (#208310)

Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
This change was produced with rst2myst plus LLM cleanups.

I manually paged through all of the linked HTML documents looking for
visual artifacts, and I fixed everything I found.

To reviewers: Please spot check the generated HTML below, and spot check
the diff to look for artifacts. This change is too large to review
everything line-by-line, but if you check 10 pages of documentation, and
only find one migration bug, I hope you think that this is good enough
to land. We have existing reST bugs that this fixes (mostly italic
blocks that should be code font spans).


    [89 lines not shown]
DeltaFile
+2,683-2,491clang/docs/UsersManual.md
+1,466-1,538clang/docs/StandardCPlusPlusModules.md
+579-713clang/docs/PointerAuthentication.md
+551-620clang/docs/HIPSupport.md
+465-613clang/docs/OpenMPSupport.md
+547-444clang/docs/Modules.md
+6,291-6,41914 files not shown
+7,927-8,27920 files

LLVM/project 2e81babmlir/include/mlir/Dialect/LLVMIR NVVMOps.td

[NVVM][MLIR] Fixed valgrind leak in MMAOp (#208063)

MmaOp::getIntrinsicID triggers an uninitialized-read warning under
Valgrind. `intOverflowBehavior` is optional; in the generated selector
its `has_value()` guarded access can be speculatively loaded before the
guard, reading the empty std::optional's uninitialized payload.

The read is benign: the payload is correctly stack-allocated but
uninitialized while empty, and the loaded value is discarded by the
guard, so this is not incorrect / undefined behavior.

This MR keeps the attribute as optional, but the lowering now resolves
it to a concrete value (wrapped when omitted) before calling
getIntrinsicID, so the selector always reads an initialized value.
`wrapped` matches the PTX spec and the existing lowering, where an
omitted attribute already selected the non-satfinite intrinsic;
intrinsic selection and printed IR are unchanged. Documentation updated
to correct the stale default.
DeltaFile
+11-4mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+11-41 files

FreeBSD/ports 9e4b8ablang/silq Makefile

lang/silq: enable on powerpc64*
DeltaFile
+1-1lang/silq/Makefile
+1-11 files

FreeBSD/ports ffc0de3www/lighttpd distinfo Makefile

www/lighttpd: update to 1.4.85

Changelog:      https://redmine.lighttpd.net/projects/lighttpd/wiki/Release-1_4_85
DeltaFile
+3-3www/lighttpd/distinfo
+1-2www/lighttpd/Makefile
+4-52 files

FreeBSD/ports 52e5a3elang/polyml Makefile, lang/polyml/files patch-libpolyml_sighandler.cpp

lang/polyml: add powerpc64* support

Increase the stack size so that powerpc64*'s register context fits in.
DeltaFile
+13-0lang/polyml/files/patch-libpolyml_sighandler.cpp
+1-1lang/polyml/Makefile
+14-12 files

LLVM/project f98afd6clang/docs UsersManual.rst UsersManual.md

[clang][docs] Rename selected Clang docs {.rst,.md} (#208307)

Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840

This is a rename-only commit that will temporarily break the docs build,
but it will fix after the follow-up PR lands.
DeltaFile
+0-6,268clang/docs/UsersManual.rst
+6,268-0clang/docs/UsersManual.md
+2,512-0clang/docs/StandardCPlusPlusModules.md
+0-2,512clang/docs/StandardCPlusPlusModules.rst
+1,749-0clang/docs/PointerAuthentication.md
+0-1,749clang/docs/PointerAuthentication.rst
+10,529-10,52938 files not shown
+17,214-17,21544 files

LLVM/project 2f79efallvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp SPIRVSymbolicOperands.td, llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_image_int64 image_int64.ll

[SPIR-V] Tie Int64ImageEXT to R64i/R64ui image format, not sampled type (#203005)

The capability is required by the R64i/R64ui Image Format per
SPV_EXT_shader_image_int64 spec, not by a 64-bit integer sampled type

Related SPIRV-LLVM-Translator PR that fixes this issue there:
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3773
DeltaFile
+20-0llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_image_int64/image_int64.ll
+0-10llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+3-5llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
+2-0llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
+25-154 files

LLVM/project 7f99babclang/docs/HLSL HLSLDocs.md

Apply suggestion from @llvm-beanz

Co-authored-by: Chris B <chris.bieneman at me.com>
DeltaFile
+1-2clang/docs/HLSL/HLSLDocs.md
+1-21 files

LLVM/project 365790allvm/lib/Target/SPIRV SPIRVCallLowering.cpp, llvm/test/CodeGen/SPIRV/linkage link-attribute-numeric-name.ll nameless-kernel-error.ll

[SPIR-V] Fix truncated LinkageAttributes OpDecorate for numeric-named functions (#207332)

LLVM IR allows functions with numeric names (e.g. `@0`). There function
return empty strings on `getName()`, so emitting a `LinkageAttributes`
decoration for it is meaningless.

Fix: skip emitting the `LinkageAttributes` decoration for non-entry
functions with an empty name. Also add a `report_fatal_error` for the
case where an entry point function has no name, since that is invalid
input.
DeltaFile
+14-0llvm/test/CodeGen/SPIRV/linkage/link-attribute-numeric-name.ll
+7-0llvm/test/CodeGen/SPIRV/linkage/nameless-kernel-error.ll
+4-1llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
+25-13 files

LLVM/project 9ee298boffload/plugins-nextgen/amdgpu CMakeLists.txt

offload: Use amdgpu triple name in plugin build

The PGO tests expect the produced filename to match the triple.
The tool pulls the triple name from the binary's triple name, and the
RUN lines expect it to match the triple the build was configured with.
DeltaFile
+1-1offload/plugins-nextgen/amdgpu/CMakeLists.txt
+1-11 files

LLVM/project 5f896d9flang/lib/Lower/OpenMP OpenMP.cpp, flang/lib/Semantics openmp-utils.cpp

Revert "[flang][OpenMP] Implement collapse for imperfectly nested loops" (#208456)

Reverts llvm/llvm-project#202435
DeltaFile
+0-648flang/test/Lower/OpenMP/collapse-imperfect-nest.f90
+4-183flang/lib/Lower/OpenMP/OpenMP.cpp
+0-148flang/test/Semantics/OpenMP/doacross-nesting-omp60.f90
+5-122flang/test/Semantics/OpenMP/do22.f90
+3-84flang/lib/Semantics/openmp-utils.cpp
+0-50flang/test/Semantics/OpenMP/ordered-nesting-omp50.f90
+12-1,23513 files not shown
+62-1,34919 files

LLVM/project c7dc908clang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticCommonKinds.td

[Clang] [C++26] Expansion Statements (Part 11)
DeltaFile
+113-0clang/test/AST/ast-print-expansion-stmts.cpp
+54-0clang/test/AST/ast-dump-expansion-stmt.cpp
+7-1clang/www/cxx_status.html
+0-4clang/include/clang/Basic/DiagnosticCommonKinds.td
+2-0clang/docs/ReleaseNotes.rst
+176-55 files

LLVM/project 500e286clang/include/clang/Basic DiagnosticSemaKinds.td LangOptions.def, clang/include/clang/Options Options.td

[Clang] [C++26] Expansion Statements (Part 10)
DeltaFile
+73-0clang/test/SemaCXX/cxx2c-expansion-stmts-limit.cpp
+18-0clang/lib/Sema/SemaExpand.cpp
+9-0clang/test/SemaCXX/cxx2c-fexpansion-statements.cpp
+4-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+4-0clang/include/clang/Options/Options.td
+1-0clang/include/clang/Basic/LangOptions.def
+109-01 files not shown
+110-07 files

LLVM/project 975e8dcclang/lib/AST ExprConstant.cpp, clang/lib/AST/ByteCode Compiler.cpp Compiler.h

[Clang] [C++26] Expansion Statements (Part 7)
DeltaFile
+1,506-0clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
+42-0clang/lib/AST/ByteCode/Compiler.cpp
+40-0clang/lib/AST/ExprConstant.cpp
+2-1clang/lib/AST/ByteCode/Compiler.h
+3-0clang/lib/Sema/SemaDeclCXX.cpp
+1,593-15 files

LLVM/project 82b2096clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema ScopeInfo.h

[Clang] [C++26] Expansion Statements (Part 9)
DeltaFile
+135-0clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
+38-9clang/lib/Sema/SemaLookup.cpp
+28-2clang/lib/Sema/SemaStmt.cpp
+9-2clang/lib/Parse/ParseStmt.cpp
+6-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+5-1clang/include/clang/Sema/ScopeInfo.h
+221-141 files not shown
+225-167 files

LLVM/project 02f2e17clang/test/CodeGenCXX cxx2c-enumerating-expansion-statements.cpp cxx2c-iterating-expansion-stmt.cpp

[Clang] [C++26] Expansion Statements (Part 8)
DeltaFile
+1,518-0clang/test/CodeGenCXX/cxx2c-enumerating-expansion-statements.cpp
+551-0clang/test/CodeGenCXX/cxx2c-iterating-expansion-stmt.cpp
+493-0clang/test/CodeGenCXX/cxx2c-destructuring-expansion-stmt.cpp
+430-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-control-flow.cpp
+208-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-templates.cpp
+134-0clang/test/CodeGenCXX/cxx2c-expansion-stmts-mangling.cpp
+3,334-03 files not shown
+3,375-39 files

LLVM/project 95599d8clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaExpand.cpp TreeTransform.h

[Clang] [C++26] Expansion Statements (Part 6)
DeltaFile
+106-6clang/lib/Sema/SemaExpand.cpp
+23-3clang/lib/Sema/TreeTransform.h
+2-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+131-93 files

LLVM/project dc800b6clang/include/clang/Basic DiagnosticSemaKinds.td, clang/include/clang/Sema Sema.h

[Clang] [C++26] Expansion Statements (Part 5)
DeltaFile
+309-14clang/lib/Sema/SemaExpand.cpp
+71-0clang/lib/Sema/TreeTransform.h
+11-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+8-0clang/lib/Sema/SemaStmt.cpp
+6-0clang/include/clang/Sema/Sema.h
+405-145 files

LLVM/project d68ad9allvm/include/llvm/IR ModuleSummaryIndex.h, llvm/lib/CodeGen/LiveDebugValues InstrRefBasedImpl.h InstrRefBasedImpl.cpp

[LLVM][NFC] Remove some global constructors (#208407)

Largely by converting relevant functions or variables to constexpr,
changing the type, converting to static locals, or by outright removal.

PunnedPointer assignment can never be constexpr, because std::memcpy is
not constexpr and type punning is not permitted in a constant-evaluated
context.
DeltaFile
+11-13llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
+9-9llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
+7-9llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
+4-11llvm/include/llvm/IR/ModuleSummaryIndex.h
+7-7llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
+3-10llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
+41-5927 files not shown
+82-12333 files

LLVM/project f7eb5fallvm/lib/Target/ARM ARMFrameLowering.cpp

Merge branch 'thumb1-estimation-fix' into thumb1-estimation-check
DeltaFile
+76-27llvm/lib/Target/ARM/ARMFrameLowering.cpp
+76-271 files

LLVM/project dbd1710clang/include/clang/Sema Sema.h, clang/lib/Sema SemaStmt.cpp

[Clang] [C++26] Expansion Statements (Part 4)
DeltaFile
+276-227clang/lib/Sema/SemaStmt.cpp
+40-0clang/include/clang/Sema/Sema.h
+316-2272 files

NetBSD/src BkRoQzPsys/arch/sparc64/dev pcfiic_ebus.c, sys/dev/ic pcf8584.c pcf8584var.h

   Note that, for the moment, this driver ALWAYS polls.
VersionDeltaFile
1.25+8-1sys/dev/ic/pcf8584.c
1.12+3-3sys/arch/sparc64/dev/pcfiic_ebus.c
1.10+2-2sys/dev/ic/pcf8584var.h
+13-63 files

LLVM/project 9312677llvm/lib/Target/ARM ARMFrameLowering.cpp

Account for potential block splitting
DeltaFile
+15-1llvm/lib/Target/ARM/ARMFrameLowering.cpp
+15-11 files

LLVM/project adb40c7llvm/lib/Target/ARM ARMFrameLowering.cpp

Check MachineBasicBlock alignments
DeltaFile
+10-6llvm/lib/Target/ARM/ARMFrameLowering.cpp
+10-61 files