LLVM/project 9521d0cclang/bindings/python/clang cindex.py, clang/bindings/python/tests/cindex test_code_completion.py

[libclang/python] Unify CompletionChunkKind.__str__ representation (#210676)

This completes the first step of
https://github.com/llvm/llvm-project/issues/156680
This change is a follow-up to
https://github.com/llvm/llvm-project/pull/176631, following the release
branching, to ensure a one release-cycle deprecation period.
DeltaFile
+17-58clang/bindings/python/tests/cindex/test_code_completion.py
+0-20clang/bindings/python/clang/cindex.py
+3-0clang/docs/ReleaseNotes.md
+20-783 files

LLVM/project 79d5781llvm/lib/Target/AMDGPU SIInstrInfo.cpp

[AMDGPU] Simplify check for packed fp32/64 opsel bits. NFCI

Call isLegalGFX12PlusPackedMathFP32or64BitOperand directly instead
of the whole isLegalOperand.
DeltaFile
+23-14llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+23-141 files

LLVM/project 9bdf7b6llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Fix legalization of V_PK_*64 SGPR to VGPR change (#211357)

Special case for V_PK_*64 instructions: these do not have OPSEL but SGPR
sources behave like OPSEL is set replicating low 64-bits into high. VGPR
sources in turn read actual 4 registers. To move operand from an SGPR to
a VGPR we need to replicate low half.
DeltaFile
+122-0llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+26-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+148-12 files

LLVM/project f075003clang/include/clang/DependencyScanning DependencyScannerImpl.h DependencyScanningWorker.h, clang/include/clang/Tooling DependencyScanningTool.h

Move implementation details to DependencyScanningWorker.cpp and dissolve DependencyScannerImpl.h/cpp.
DeltaFile
+0-678clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+671-1clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+0-122clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+12-2clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+0-1clang/include/clang/Tooling/DependencyScanningTool.h
+0-1clang/lib/DependencyScanning/CMakeLists.txt
+683-8053 files not shown
+684-8079 files

LLVM/project e323020clang/include/clang/DependencyScanning DependencyScannerImpl.h, clang/lib/DependencyScanning DependencyScanningWorker.cpp DependencyScannerImpl.cpp

Use CompilerInstanceWithContext for TU scanning.
DeltaFile
+132-38clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+6-146clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+33-27clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+35-0clang/unittests/Tooling/DependencyScannerTest.cpp
+1-0clang/test/ClangScanDeps/logging-simple.c
+207-2115 files

LLVM/project 10491f5clang/include/clang/DependencyScanning DependencyScanningWorker.h, clang/include/clang/Tooling DependencyScanningTool.h

Relocate CompilerInstanceWithContext to DependencyScanningWorker.cpp and hide it as an implementation detail.
DeltaFile
+250-0clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+4-208clang/lib/Tooling/DependencyScanningTool.cpp
+0-75clang/include/clang/Tooling/DependencyScanningTool.h
+22-5clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+276-2884 files

LLVM/project eda590eclang/include/clang/DependencyScanning DependencyScannerImpl.h DependencyConsumer.h, clang/include/clang/Tooling DependencyScanningTool.h

Implement the streaming style by-name scanning API.
DeltaFile
+42-88clang/lib/Tooling/DependencyScanningTool.cpp
+42-56clang/tools/clang-scan-deps/ClangScanDeps.cpp
+15-59clang/include/clang/Tooling/DependencyScanningTool.h
+0-14clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+1-3clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
+2-0clang/include/clang/DependencyScanning/DependencyConsumer.h
+102-2206 files

LLVM/project ac3bc89clang/include/clang/Tooling DependencyScanningTool.h, clang/lib/Tooling DependencyScanningTool.cpp

Extracting a driver-free CompilerInstaneWithContext initializer.
DeltaFile
+20-12clang/lib/Tooling/DependencyScanningTool.cpp
+21-3clang/include/clang/Tooling/DependencyScanningTool.h
+41-152 files

LLVM/project 48df76dclang/test/ClangScanDeps canonicalize-macros-multiarch.c

Adding a multiarch clang-scan-deps test
DeltaFile
+28-0clang/test/ClangScanDeps/canonicalize-macros-multiarch.c
+28-01 files

LLVM/project c832c38llvm/lib/Target/NVPTX NVPTXISelDAGToDAG.cpp NVPTXIntrinsics.td, llvm/test/CodeGen/NVPTX lower-byval-args.ll

[NVPTX] Move addrspacecast Isel to TableGen (#211306)
DeltaFile
+63-51llvm/test/DebugInfo/NVPTX/debug-info.ll
+0-93llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
+49-19llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+15-0llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+4-5llvm/test/CodeGen/NVPTX/lower-byval-args.ll
+2-2llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
+133-1704 files not shown
+136-17410 files

LLVM/project da04ce1clang/docs ClangFormatStyleOptions.md ClangFormat.md, clang/docs/tools dump_format_style.py dump_format_help.py

[docs][clang-format] Migrate generated clang-format docs to markdown

The challenge here is that the documentation is generated from Doxygen
comments in headers, `Format.h` and `IncludeStyle.h`.

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments were also modified to use markdown constructs.
Mostly this means using single backticks instead of double backticks,
which is the Doxygen-native way of expressing code font blocks anyway,
so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |

    [4 lines not shown]
DeltaFile
+5,564-5,805clang/docs/ClangFormatStyleOptions.md
+383-383clang/include/clang/Format/Format.h
+236-259clang/docs/ClangFormat.md
+120-27clang/docs/tools/dump_format_style.py
+28-28clang/include/clang/Tooling/Inclusions/IncludeStyle.h
+3-11clang/docs/tools/dump_format_help.py
+6,334-6,5136 files

NetBSD/pkgsrc-wip 0f9b323callcc PLIST Makefile, callcc/patches patch-Makefile patch-compiler_bc.scm

wip/callcc: import callcc-0.3 as wip/callcc

An r7rs scheme compiler with an LLVM backend.
DeltaFile
+61-0callcc/PLIST
+37-0callcc/patches/patch-Makefile
+29-0callcc/Makefile
+23-0callcc/patches/patch-compiler_bc.scm
+19-0callcc/patches/patch-c_runtime.c
+8-0callcc/distinfo
+177-02 files not shown
+179-08 files

LLVM/project d1c5983mlir/lib/Dialect/OpenACC/Transforms ACCCGToGPU.cpp, mlir/test/Dialect/OpenACC acc-cg-to-gpu-reduction-array.mlir

[mlir][OpenACC] Support dynamic multi-rank array reductions (#211336)

Example:
```fortran
integer :: r(:,:)
!$acc parallel loop reduction(+:r)
```

In this code, the reduction accumulator has dynamic dimensions and rank
greater than one.

Fix: use runtime dimension sizes to delinearize flattened
array-reduction indices.
DeltaFile
+18-9mlir/test/Dialect/OpenACC/acc-cg-to-gpu-reduction-array.mlir
+6-10mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
+24-192 files

LLVM/project 9ad7769clang/docs ClangFormatStyleOptions.md ClangFormat.md, clang/docs/tools dump_format_style.py dump_format_help.py

[docs][clang-format] Migrate generated clang-format docs to markdown

The challenge here is that the documentation is generated from Doxygen
comments in headers, `Format.h` and `IncludeStyle.h`.

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments were also modified to use markdown constructs.
Mostly this means using single backticks instead of double backticks,
which is the Doxygen-native way of expressing code font blocks anyway,
so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |

    [4 lines not shown]
DeltaFile
+5,406-5,647clang/docs/ClangFormatStyleOptions.md
+383-383clang/include/clang/Format/Format.h
+236-259clang/docs/ClangFormat.md
+93-27clang/docs/tools/dump_format_style.py
+28-28clang/include/clang/Tooling/Inclusions/IncludeStyle.h
+3-11clang/docs/tools/dump_format_help.py
+6,149-6,3556 files

LLVM/project c1cd7d1flang/lib/Semantics resolve-directives.cpp, flang/test/Semantics/OpenACC acc-routine-generic.f90

[flang][acc] Permit acc routine for specific name (#211386)

After https://github.com/llvm/llvm-project/pull/211269 a generic
interface name is rejected in acc routine. This PR relaxes this by
allowing it when the interface name and the specific are the same - and
attaches the information to the specific itself.
DeltaFile
+15-9flang/lib/Semantics/resolve-directives.cpp
+17-1flang/test/Semantics/OpenACC/acc-routine-generic.f90
+32-102 files

LLVM/project 8240753clang/docs ClangFormatStyleOptions.md ClangFormat.md, clang/docs/tools dump_format_style.py dump_format_help.py

[docs][clang-format] Migrate generated clang-format docs to markdown

The challenge here is that the documentation is generated from Doxygen
comments in headers, `Format.h` and `IncludeStyle.h`.

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments were also modified to use markdown constructs.
Mostly this means using single backticks instead of double backticks,
which is the Doxygen-native way of expressing code font blocks anyway,
so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |

    [4 lines not shown]
DeltaFile
+5,406-5,647clang/docs/ClangFormatStyleOptions.md
+383-383clang/include/clang/Format/Format.h
+236-259clang/docs/ClangFormat.md
+93-27clang/docs/tools/dump_format_style.py
+28-28clang/include/clang/Tooling/Inclusions/IncludeStyle.h
+3-11clang/docs/tools/dump_format_help.py
+6,149-6,3556 files

LLVM/project 18f4280clang/docs ClangFormatStyleOptions.md ClangFormatStyleOptions.rst, clang/docs/tools dump_format_help.py dump_format_style.py

[docs][clang-format] Rename docs to Markdown

Rename ClangFormat and ClangFormatStyleOptions from reStructuredText to Markdown.

Update the clang-format documentation generator scripts and CMake custom targets to point at the renamed .md files so the generated documentation paths remain valid. Keep this changeset limited to rename/path updates; Markdown content cleanup is in the follow-up rewrite changeset.
DeltaFile
+8,004-0clang/docs/ClangFormatStyleOptions.md
+0-8,004clang/docs/ClangFormatStyleOptions.rst
+0-366clang/docs/ClangFormat.rst
+366-0clang/docs/ClangFormat.md
+2-2clang/docs/tools/dump_format_help.py
+2-2clang/docs/tools/dump_format_style.py
+8,374-8,3741 files not shown
+8,376-8,3767 files

LLVM/project d8d2500mlir/test/CAPI rewrite.c

[mlir-c] Destroy pattern sets in 1:N conversion tests

Same leak fix as the materialization tests on main: these tests freeze
their MlirRewritePatternSet but must still call mlirRewritePatternSetDestroy
on the (moved-from) container, otherwise LeakSanitizer flags it on the
aarch64 HWASan bootstrap bot.
DeltaFile
+8-0mlir/test/CAPI/rewrite.c
+8-01 files

LLVM/project 37879dcmlir/lib/Dialect/OpenACC/Transforms ACCCGToGPU.cpp, mlir/test/Dialect/OpenACC acc-cg-to-gpu-worker-reduction-combine.mlir acc-cg-to-gpu-worker-reduction-combine-mixed-scope.mlir

[mlir][OpenACC] Preserve worker rows when combining reductions (#210804)

Example:
```fortran
!$acc parallel loop gang worker reduction(+:sum)
do j = 1, n
  !$acc loop vector reduction(+:sum)
  do i = 1, n
    sum = sum + a(i, j)
  end do
end do
```

In this code, each worker has a private partial result, but combine
predication previously allowed only ThreadY row zero to contribute.

Fix: keep ThreadY active only for proven atomic worker combines, while
preserving legacy predication or reporting NYI for unsafe combinations.
DeltaFile
+169-23mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
+187-0mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-reduction-combine.mlir
+121-0mlir/test/Dialect/OpenACC/acc-cg-to-gpu-worker-reduction-combine-mixed-scope.mlir
+477-233 files

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

cleanup comments
DeltaFile
+2-18mlir/include/mlir-c/Rewrite.h
+0-12mlir/lib/CAPI/Transforms/Rewrite.cpp
+2-302 files

LLVM/project eb131dbmlir/test/CAPI rewrite.c

[mlir-c] Test the failure path of the 1:N type conversion callback

Adds a test that registers a 1:N conversion function returning
MlirTypeConverterConversionStatusFailure. Because it is tried before the
i32 -> (i16, i16) conversion, the failure must abort the whole conversion
(rather than falling back), leaving the IR unchanged -- the behavior that a
plain decline would not produce.
DeltaFile
+87-0mlir/test/CAPI/rewrite.c
+87-01 files

LLVM/project 3e566e7mlir/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 4d331efmlir/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
+710-1mlir/test/CAPI/rewrite.c
+163-14mlir/lib/CAPI/Transforms/Rewrite.cpp
+107-5mlir/include/mlir-c/Rewrite.h
+980-203 files

LLVM/project f58638amlir/test/CAPI rewrite.c

pre-increment
DeltaFile
+5-5mlir/test/CAPI/rewrite.c
+5-51 files

LLVM/project 84f918emlir/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 46a493bllvm/include/llvm/IR Instruction.h, llvm/lib/IR Instruction.cpp

[MemProf] Fix memprof metadata propagation issue (#211373)

Fixes a few places where optimizations were dropping memprof related
metadata when creating new calls. Adds a new facility that can be used
to propagate profile and debug metadata, and employs that in the passes
that were manually specifying just MD_prof and MD_dbg.
DeltaFile
+23-0llvm/test/Transforms/Attributor/call_memprof.ll
+21-0llvm/test/Transforms/ArgumentPromotion/call_memprof.ll
+20-0llvm/test/Transforms/DeadArgElim/call_memprof.ll
+16-0llvm/test/Transforms/ExpandVariadics/call_memprof.ll
+8-0llvm/lib/IR/Instruction.cpp
+5-0llvm/include/llvm/IR/Instruction.h
+93-04 files not shown
+98-510 files

LLVM/project 1ba2d93mlir/test/CAPI rewrite.c

[mlir-c] Fix pattern-set leak in rewrite.c materialization tests (#211358)

The `TypeConverter` materialization tests added in #208934 (`testTypeConverterSourceMaterialization` / `testTypeConverterTargetMaterialization`) freeze their `MlirRewritePatternSet` but never destroy it.

This was caught by LeakSanitizer on the aarch64 HWASan bootstrap bot ([builder 55, build
30763](https://lab.llvm.org/buildbot/#/builders/55/builds/30763)):

Fix: call `mlirRewritePatternSetDestroy(patterns)` after freezing in both tests, matching existing usage.

Assisted by: Claude
DeltaFile
+2-0mlir/test/CAPI/rewrite.c
+2-01 files

LLVM/project 888ba55llvm/unittests/Frontend EnumSetTest.cpp

Add preamble
DeltaFile
+8-0llvm/unittests/Frontend/EnumSetTest.cpp
+8-01 files

LLVM/project 952e967libc/src/__support freestore.h

[libc] add fastpath if linear portion are exact

TAG=agy
CONV=f78b1e3e-dbac-4be5-bc9f-d37a6264139e
DeltaFile
+8-9libc/src/__support/freestore.h
+8-91 files

LLVM/project 71add54llvm/unittests/Frontend EnumSetTest.cpp CMakeLists.txt

Add unit test
DeltaFile
+134-0llvm/unittests/Frontend/EnumSetTest.cpp
+1-0llvm/unittests/Frontend/CMakeLists.txt
+135-02 files