LLVM/project c6085a0llvm/docs AdminTasks.md

[docs] Update the commit review admin task with process details
DeltaFile
+17-10llvm/docs/AdminTasks.md
+17-101 files

LLVM/project fb05473llvm/docs AdminTasks.md

[docs] Rewrite AdminTasks.md as markdown (#210416)

Tracking issue: #201242
This is a stacked PR based on #210415 , which does a rename for history
preservation purposes. See the [migration guide] for more information.

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This was prepared with rst2myst.
DeltaFile
+21-27llvm/docs/AdminTasks.md
+21-271 files

LLVM/project 95cc83dllvm/docs AdminTasks.md AdminTasks.rst

[docs] Rename AdminTasks to markdown to preserve history (#210415)

Tracking issue: #201242

Migrating this before I make changes to it. A follow-up PR will do the
migration.
DeltaFile
+48-0llvm/docs/AdminTasks.md
+0-48llvm/docs/AdminTasks.rst
+48-482 files

LLVM/project 5c719eeclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenBuiltin.cpp

[CIR] Implement support for builtin FMA (#210365)

Implement support for the _builtin_fma
DeltaFile
+37-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+25-0clang/test/CIR/CodeGen/builtins-x86.c
+17-1clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+9-0clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
+88-14 files

LLVM/project f698e79mlir/test/CAPI rewrite.c

pre-increment
DeltaFile
+6-6mlir/test/CAPI/rewrite.c
+6-61 files

LLVM/project 3a029cdmlir/lib/Bindings/Python Rewrite.cpp

[mlir-c] Value-initialize MlirConversionPatternCallbacks in Python bindings

The Python conversion-pattern binding left the struct default-initialized,
so the newly-added optional matchAndRewrite1ToN field held an indeterminate
pointer. The driver's null check then read garbage and jumped into it,
segfaulting mlir/test/python/rewrite.py. Value-initialize the struct so
optional callbacks default to null.
DeltaFile
+3-1mlir/lib/Bindings/Python/Rewrite.cpp
+3-11 files

LLVM/project bc9d7ccmlir/include/mlir-c Rewrite.h, mlir/lib/CAPI/Transforms Rewrite.cpp

[mlir-c] Add 1:N TypeConverter conversion and materialization bindings

Builds on the source/target materialization C bindings:

- Target materialization callbacks now receive `originalType` (split from the
  previously-shared source/target callback typedef), exposing a documented C++
  capability that was otherwise unreachable from C.
- 1:N type conversion: `mlirTypeConverterAdd1ToNConversion` plus an opaque
  results accumulator (`MlirTypeConverterConversionResults` /
  `mlirTypeConverterConversionResultsAppend`). A declining callback's appended
  types are rolled back so the driver's "try the next conversion" invariant
  holds.
- 1:N target materialization: `mlirTypeConverterAdd1ToNTargetMaterialization`,
  whose callback fills a caller-allocated `outputs` buffer. A success that
  leaves any output null is treated as a decline rather than handing the driver
  a null-containing result.
- `mlirConversionPatternRewriterReplaceOpWithMultiple` for 1:N value
  replacement, which can drive a source materialization with nInputs > 1.
- An optional `matchAndRewrite1ToN` callback on `MlirConversionPatternCallbacks`

    [9 lines not shown]
DeltaFile
+731-2mlir/test/CAPI/rewrite.c
+153-14mlir/lib/CAPI/Transforms/Rewrite.cpp
+103-5mlir/include/mlir-c/Rewrite.h
+987-213 files

LLVM/project 185b7b7mlir/test/CAPI rewrite.c

[mlir-c] Fix -Wmissing-field-initializers in rewrite.c test

The new matchAndRewrite1ToN field left three existing
MlirConversionPatternCallbacks initializers under-initialized, which
fails the CI build under -Werror=-Wmissing-field-initializers.
DeltaFile
+4-3mlir/test/CAPI/rewrite.c
+4-31 files

LLVM/project 0747c99mlir/test/CAPI rewrite.c

address comment
DeltaFile
+4-4mlir/test/CAPI/rewrite.c
+4-41 files

LLVM/project b46e44dllvm/docs AdminTasks.md

[docs] Rewrite AdminTasks as markdown
DeltaFile
+21-27llvm/docs/AdminTasks.md
+21-271 files

LLVM/project 196a18cllvm/docs AdminTasks.md AdminTasks.rst

[docs] Rename AdminTasks to markdown to preserve history
DeltaFile
+48-0llvm/docs/AdminTasks.md
+0-48llvm/docs/AdminTasks.rst
+48-482 files

LLVM/project d080767flang/lib/Parser openmp-parsers.cpp, llvm/include/llvm/Frontend/OpenMP OMP.h

[OpenMP] Add constexpr enum ranges for all clauses and all directives
DeltaFile
+9-0llvm/include/llvm/Frontend/OpenMP/OMP.h
+2-5flang/lib/Parser/openmp-parsers.cpp
+2-4llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
+2-4llvm/lib/Frontend/OpenMP/OMP.cpp
+15-134 files

LLVM/project 8b93174llvm/include/llvm/ADT Sequence.h

[ADT] Make enum iterators constexpr
DeltaFile
+89-57llvm/include/llvm/ADT/Sequence.h
+89-571 files

LLVM/project 25b4b97llvm/include/llvm/Support MathExtras.h, llvm/unittests/Support MathExtrasTest.cpp

Use {} and structured bindings
DeltaFile
+66-66llvm/unittests/Support/MathExtrasTest.cpp
+8-8llvm/include/llvm/Support/MathExtras.h
+74-742 files

LLVM/project c2235e4llvm/include/llvm/Support MathExtras.h, llvm/unittests/Support MathExtrasTest.cpp

[Support] Add constexpr versions of Add/Sub/MulOverflow
DeltaFile
+131-0llvm/unittests/Support/MathExtrasTest.cpp
+79-43llvm/include/llvm/Support/MathExtras.h
+210-432 files

LLVM/project 0f02cb9lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp ProcessGDBRemote.h, lldb/unittests/Process/gdb-remote ProcessGDBRemoteTest.cpp CMakeLists.txt

[lldb] Contribute the GDB-remote packet history to diagnostics bundles

Register a Diagnostics artifact provider from ProcessGDBRemote so a
diagnostics bundle captures the GDB-remote packet history, the same data
"process plugin packet history" prints.
DeltaFile
+103-0lldb/unittests/Process/gdb-remote/ProcessGDBRemoteTest.cpp
+19-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+4-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+1-0lldb/unittests/Process/gdb-remote/CMakeLists.txt
+127-04 files

LLVM/project e09fa81libc/src/stdlib/linux realpath.cpp CMakeLists.txt, libc/test/src/stdlib realpath_test.cpp

[libc][realpath] Validate path components.

This PR updates `realpath` to validate paths and return `ENOTDIR` or `ENOENT` according to https://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html.

This PR also bumps the memory limit in `HermeticTestUtils.cpp`. The realpath unit tests allocate quite a few strings. Since memory in hermetic tests is never free'd, the unit test quickly reaches the limit.
DeltaFile
+49-0libc/test/src/stdlib/realpath_test.cpp
+34-0libc/src/stdlib/linux/realpath.cpp
+5-0libc/src/stdlib/linux/CMakeLists.txt
+88-03 files

LLVM/project f4291f4libc/src/stdlib/linux realpath.cpp CMakeLists.txt, libc/test/src/stdlib realpath_test.cpp CMakeLists.txt

[libc][realpath] Support relative paths
DeltaFile
+84-3libc/test/src/stdlib/realpath_test.cpp
+16-1libc/src/stdlib/linux/realpath.cpp
+2-0libc/test/src/stdlib/CMakeLists.txt
+1-0libc/src/stdlib/linux/CMakeLists.txt
+103-44 files

LLVM/project 4070621flang/lib/Optimizer/OpenACC/Support FIROpenACCOpsInterfaces.cpp RegisterOpenACCExtensions.cpp, flang/test/Transforms/OpenACC acc-implicit-declare-type-descriptor-create-box.fir

[flang][OpenACC] Discover type descriptors referenced by fir.create_box (#210393)

Register the IndirectGlobalAccess interface for fir.create_box so
acc-implicit-declare finds the derived-type type-descriptor global a
create_box of a record array needs on the device, as it already does
for fir.embox and fir.rebox.

Assisted-by: Cursor
DeltaFile
+26-0flang/test/Transforms/OpenACC/acc-implicit-declare-type-descriptor-create-box.fir
+9-0flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
+2-0flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
+37-03 files

LLVM/project 3e55f3clibc/test/UnitTest HermeticTestUtils.cpp, libc/test/src/stdlib realpath_test.cpp CMakeLists.txt

[libc][realpath][test] Create test files/directories (#209369)

Follow-up PRs will add path validation etc to `realpath`, which will
require paths to exist in the filesystem.

This PR bumps the memory limit in `HermeticTestUtils.cpp`. The realpath
unit tests allocate quite a few strings, and since memory in hermetic
tests is never freed, the unit test quickly reaches the limit.
DeltaFile
+256-13libc/test/src/stdlib/realpath_test.cpp
+14-0libc/test/src/stdlib/CMakeLists.txt
+1-1libc/test/UnitTest/HermeticTestUtils.cpp
+271-143 files

LLVM/project 93bce30clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-gfx1250.hip builtins-amdgcn.hip

[CIR][AMDGPU] Add support for AMDGCN log builtins (#198032)

Adds codegen support for the following AMDGCN log builtins:

- __builtin_amdgcn_logf (float)
- __builtin_amdgcn_log_bf16 (bfloat16)

These are lowered to the corresponding `llvm.amdgcn.log` intrinsic.
DeltaFile
+8-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250.hip
+8-0clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
+1-4clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+17-43 files

LLVM/project 91bb8f4llvm/lib/Transforms/Vectorize VPlan.h VPlanUtils.cpp, llvm/test/Transforms/LoopVectorize/VPlan dissolve-replicate-regions.ll

[VPlan] Introduce vputils::doesGeneratePerAllLanes (#199047)

Introduce a query for recipes that produce scalar values for all VF
lanes, returning true for non-single-scalar replicates, non-first-lane
SIVSteps, and a couple of VPInstructions.
DeltaFile
+24-25llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
+20-22llvm/test/Transforms/LoopVectorize/VPlan/RISCV/expand-scev.ll
+9-8llvm/lib/Transforms/Vectorize/VPlan.h
+10-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+2-7llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+71-632 files not shown
+75-698 files

LLVM/project be1c338lldb/include/lldb/Core Diagnostics.h, lldb/source/Core Diagnostics.cpp

[lldb] Add an artifact provider mechanism to Diagnostics

Add a hook that lets a subsystem contribute a file to the diagnostics
bundle, without breaking layering and making Core depend on it. A plugin registers an
ArtifactProvider callback and a file name via AddArtifactProvider.
Providers run when a bundle is collected, and each one that yields
content is written into the bundle and recorded in the report's
attachments.

This restores, in a simpler form, the collection point that the removed
Diagnostics callback mechanism offered. The motivating consumer is the
downstream Swift health check, which registers a provider to write its
"swift-healthcheck.log" into the bundle. Unlike the old callback, a
provider does not open or write its own file: it just returns the
contents as a string and Diagnostics handles the rest.

I have a follow-up PR that takes advantage of this new mechanism
upstream to collect the GDB remote packet log.
DeltaFile
+140-0lldb/unittests/Core/DiagnosticsTest.cpp
+30-0lldb/include/lldb/Core/Diagnostics.h
+30-0lldb/source/Core/Diagnostics.cpp
+1-0lldb/unittests/Core/CMakeLists.txt
+201-04 files

LLVM/project 6289cb4llvm/test/TableGen RuntimeLibcallEmitter-predicate-cc-sort.td, llvm/utils/TableGen/Basic RuntimeLibcallsEmitter.cpp

TableGen: Deterministically order predicate groups by calling convention

The predicate-group sort in emitSystemRuntimeLibrarySetCalls keyed only on the
predicate name, so two groups sharing a predicate name but differing in calling
convention (e.g. isOSWindows with the default CC vs ARM_AAPCS) tied and could
emit in an unstable order. Break the tie on the calling convention name so the
generated output is deterministic.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+38-0llvm/test/TableGen/RuntimeLibcallEmitter-predicate-cc-sort.td
+7-1llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+45-12 files

LLVM/project 93b1240compiler-rt/docs TestingGuide.md, flang/docs/CommandGuide index.md

[docs] Finish misc MyST migration (#210209)

Tracking issue: #201242
See the [migration guide] for more information.

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is a stacked PR based on #210208, which is the standalone rename
commit for this miscellaneous Markdown migration batch.

This was prepared with rst2myst plus LLM-assisted cleanup. LLDB man
pages are intentionally left as reStructuredText because LLDB man-page
building should not take on Markdown parser dependencies.

Unfortunately, many of these miscellaneous docs do not have working
standalone doc build targets, so I was not able to render HTML for all
of them. I think the scope is small enough that this is reviewable by
hand.
DeltaFile
+108-101libsycl/docs/index.md
+73-92llvm-libgcc/docs/LLVMLibgcc.md
+49-43libunwind/docs/BuildingLibunwind.md
+40-50libunwind/docs/index.md
+43-39flang/docs/CommandGuide/index.md
+34-36compiler-rt/docs/TestingGuide.md
+347-3616 files not shown
+462-47412 files

LLVM/project 714d124cross-project-tests/intrinsic-header-tests riscv_packed_simd.c

Revert "[RISCV][P-ext][NFC] Add cross-project tests for packed zip/unzip intrinsics" (#210401)

Reverts llvm/llvm-project#209575
DeltaFile
+0-68cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+0-681 files

LLVM/project 40c4feallvm/lib/Transforms/Utils SSAUpdater.cpp, llvm/test/Transforms/SROA sroa-self-referential-load.ll

[SROA] Fix assertion failure when promoting self-referential load/store (#208826)

When LoadAndStorePromoter::run processes a block where a store's value
operand is defined by the load being promoted (a self-referential cycle
in unreachable code), it sets StoredValue to the load instruction. When
it then calls replaceAllUsesWith, the doRAUW assertion fires because the
replacement value contains the value being replaced.

The single-block promotion paths in promoteSingleBlockAlloca already
guard against this with a check for ReplVal == LI, replacing with poison
instead. This patch adds the same guard to the in-block load path in
LoadAndStorePromoter::run, which was missing it. Substituting poison is
correct here since this situation only arises in unreachable code.

The regression was introduced in #135609, which added the
propagateStoredValuesToLoads path in SROA that routes through
LoadAndStorePromoter::run. LoadStoreRewriter handles aggregates and is
unrelated to this path.

Fixes #204799
DeltaFile
+45-0llvm/test/Transforms/SROA/sroa-self-referential-load.ll
+3-0llvm/lib/Transforms/Utils/SSAUpdater.cpp
+48-02 files

LLVM/project 50c8f07clang/lib/StaticAnalyzer/Checkers StdLibraryFunctionsChecker.cpp, clang/test/Analysis std-c-library-functions-non-integral-ssize_t.cpp

[clang][analyzer] Fix assertion failure in StdLibraryFunctionsChecker with non-integral ssize_t (#209655)

In StdLibraryFunctionsCheckers' `RangeConstraint::checkSpecificValidity`
asserted that the constrained argument type is integral. When user code
typedefs `ssize_t` to a non-integral type (e.g. `float`) even though
this violates POSIX.1-2017, which requires `ssize_t` to be a signed
integer type, the signature still matches (same canonical type) and the
assertion fires during constraint validation. Remove it and let
`validateByConstraints` gracefully reject the summary by returning
false.

Fixes #209436
DeltaFile
+21-0clang/test/Analysis/std-c-library-functions-non-integral-ssize_t.cpp
+1-5clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
+22-52 files

LLVM/project b921292clang/lib/Sema SemaOpenMP.cpp, clang/test/OpenMP dims_modifier_messages.cpp

Add dims validation in all teams and target directives
DeltaFile
+132-96clang/lib/Sema/SemaOpenMP.cpp
+98-5clang/test/OpenMP/dims_modifier_messages.cpp
+230-1012 files

LLVM/project b752ce7clang/docs OpenMPSupport.md, clang/include/clang/Basic DiagnosticSemaKinds.td

Fix review comments
DeltaFile
+9-9clang/docs/OpenMPSupport.md
+4-2clang/lib/Parse/ParseOpenMP.cpp
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+14-123 files