LLVM/project bbd998fflang/test/Semantics data27.f90

[flang][test] Expand test for legacy DATA initializer on invalid declarations (#222171)

Follow-up to #221170. Expands `flang/test/Semantics/data27.f90` with the
other shapes that crashed the same way before that fix and now produce
the expected error

Assisted-by: AI
DeltaFile
+32-0flang/test/Semantics/data27.f90
+32-01 files

LLVM/project a5d612bclang-tools-extra Maintainers.md, clang-tools-extra/docs ReleaseNotes.md conf.py

[clang-tools-extra][docs] Use Furo theme

Adopt the shared Furo configuration for the clang-tools-extra documentation. Remove page-local TOCs mechanically with the included `utils/docs/remove_page_tocs.py` helper.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC: https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7
Preview: https://clangdocs.staging.reidkleckner.dev/after/clang-tools-extra/docs/
DeltaFile
+72-0utils/docs/remove_page_tocs.py
+21-0clang-tools-extra/docs/_static/clang-tools-extra-styles.css
+7-13clang-tools-extra/docs/conf.py
+0-4clang-tools-extra/docs/ReleaseNotes.md
+0-3clang-tools-extra/Maintainers.md
+0-2clang-tools-extra/docs/clang-tidy/index.rst
+100-224 files not shown
+100-3010 files

LLVM/project 5e28271mlir/include/mlir/Dialect/Func/IR FuncOps.td, mlir/lib/Dialect/Func/IR FuncOps.cpp

[MLIR][Func] Enable strict property assembly format (#217300)

Enable the strict properties assembly format mode for the Func dialect.
Spell inherent call attributes directly in the call formats so they are
no longer parsed from attr-dict in strict mode.

Assisted-by: Codex
DeltaFile
+19-0mlir/test/IR/core-ops.mlir
+16-0mlir/test/Transforms/canonicalize.mlir
+8-5mlir/lib/Dialect/Func/IR/FuncOps.cpp
+9-2mlir/include/mlir/Dialect/Func/IR/FuncOps.td
+2-2mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
+1-1mlir/test/Transforms/inlining.mlir
+55-106 files

LLVM/project 68622e0compiler-rt/test/fuzzer fork_corpus_groups.test fork.test

[Fuzzer] Bump rss_limit again. (#222187)

The two tests libFuzzer-x86-64-default-Linux::fork_corpus_groups.test
and libFuzzer-x86-64-default-Linux::fork.test have started being flaky
again on two of my bots, so bumping up the rss limit in the test which
temporarily solved the issue back in #204701.

See comment in #222187 for links to the bots and recent failures.
DeltaFile
+1-1compiler-rt/test/fuzzer/fork_corpus_groups.test
+1-1compiler-rt/test/fuzzer/fork.test
+2-22 files

LLVM/project b8c3332llvm/test/CodeGen/AMDGPU sdwa-ops.mir

[AMDGPU] Compact virtual register numbers in sdwa-ops.mir (NFC)

Renumber vregs in appearance order.
DeltaFile
+124-121llvm/test/CodeGen/AMDGPU/sdwa-ops.mir
+124-1211 files

LLVM/project 58d0cb5mlir/include/mlir/Dialect/EmitC/IR EmitC.td, mlir/test/Dialect/EmitC invalid_ops.mlir ops.mlir

[MLIR][EmitC] Enable strict property assembly format (#217271)

Enable strict property assembly format mode for the EmitC dialect. Spell
call metadata directly in the affected declarative assembly formats and
drop unneeded property dictionaries from formats that already cover
their inherent attributes.

Refresh EmitC tests and related C++ target checks so call properties use
direct syntax while ordinary attributes remain in attr-dict.

Assisted-by: Codex
DeltaFile
+40-23mlir/test/Dialect/EmitC/ops.mlir
+29-29mlir/test/Target/Cpp/switch.mlir
+24-20mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
+19-19mlir/test/Target/Cpp/expressions.mlir
+18-18mlir/test/Dialect/EmitC/invalid_ops.mlir
+16-16mlir/test/Target/Cpp/const.mlir
+146-12517 files not shown
+242-22023 files

LLVM/project caaf9bflibcxx/utils generate_feature_test_macro_components.py

[libc++][docs] Apply Python formatting
DeltaFile
+3-1libcxx/utils/generate_feature_test_macro_components.py
+3-11 files

LLVM/project 1462d6flibcxx/include/__optional optional_ref.h optional.h

[libc++][NFC] Remove `optional::__get` (#217218)

Internal communicating functions `optional::__get` can be superseded by
either `value`, `operator*()`, or direct use of data member. Even though
`value()` is checked, checks are already performed before internal calls
to it, so compilers should be able to remove duplicated checks.

It is intended to use `opt.value()` instead of `*opt` to avoid undesired
argument-dependent lookup.
DeltaFile
+44-48libcxx/include/__optional/optional.h
+5-7libcxx/include/__optional/optional_ref.h
+49-552 files

LLVM/project 50e5f59openmp/docs SupportAndFAQ.md README.txt, openmp/docs/design Runtimes.md

[OpenMP][docs] Finish MyST migration for OpenMP docs
DeltaFile
+64-224openmp/docs/design/Runtimes.md
+91-112openmp/docs/CommandLineArgumentReference.md
+31-33openmp/docs/remarks/OptimizationRemarks.md
+27-28openmp/docs/index.md
+9-9openmp/docs/README.txt
+6-7openmp/docs/SupportAndFAQ.md
+228-41313 files not shown
+258-45219 files

LLVM/project a92353dopenmp/docs index.md SupportAndFAQ.md, openmp/docs/design Runtimes.md

[OpenMP][docs] Convert reStructuredText files with rst2myst
DeltaFile
+920-835openmp/docs/design/Runtimes.md
+207-138openmp/docs/CommandLineArgumentReference.md
+153-174openmp/docs/SupportAndFAQ.md
+103-107openmp/docs/index.md
+83-92openmp/docs/openacc/OpenMPExtensions.md
+54-56openmp/docs/remarks/OMP112.md
+1,520-1,40228 files not shown
+2,118-2,04634 files

LLVM/project c6b2c62openmp/docs CommandLineArgumentReference.rst CommandLineArgumentReference.md, openmp/docs/design Runtimes.rst Runtimes.md

[OpenMP][docs] Rename reStructuredText files to Markdown
DeltaFile
+0-1,680openmp/docs/design/Runtimes.rst
+1,680-0openmp/docs/design/Runtimes.md
+0-332openmp/docs/SupportAndFAQ.rst
+332-0openmp/docs/SupportAndFAQ.md
+0-186openmp/docs/CommandLineArgumentReference.rst
+186-0openmp/docs/CommandLineArgumentReference.md
+2,198-2,19862 files not shown
+3,838-3,83868 files

LLVM/project ee4d40aclang-tools-extra/docs conf.py

[clang-tools-extra][docs] Use Furo theme

Adopt the shared Furo configuration for the clang-tools-extra documentation. This is stacked on the page-local TOC removal change.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC: https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7
Preview: https://clangdocs.staging.reidkleckner.dev/after/clang-tools-extra/docs/
DeltaFile
+7-13clang-tools-extra/docs/conf.py
+7-131 files

LLVM/project 4727663clang-tools-extra Maintainers.md, clang-tools-extra/docs clang-reorder-fields.md clang-include-fixer.md

[clang-tools-extra][docs] Remove page-local contents directives

Remove page-local TOCs before adopting Furo. This mechanical change was generated with `utils/docs/remove_page_tocs.py`, included here for conflict regeneration.

Clang Furo PR: https://github.com/llvm/llvm-project/pull/214869
RFC: https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7
Preview: https://clangdocs.staging.reidkleckner.dev/after/clang-tools-extra/docs/
DeltaFile
+72-0utils/docs/remove_page_tocs.py
+0-4clang-tools-extra/docs/ReleaseNotes.md
+0-3clang-tools-extra/Maintainers.md
+0-2clang-tools-extra/docs/clang-tidy/index.rst
+0-2clang-tools-extra/docs/clang-reorder-fields.md
+0-2clang-tools-extra/docs/clang-include-fixer.md
+72-132 files not shown
+72-178 files

LLVM/project 332950dclang/docs CMakeLists.txt

fixup cmakelists indentation
DeltaFile
+1-1clang/docs/CMakeLists.txt
+1-11 files

LLVM/project df55ebfflang/lib/Optimizer/Transforms/CUDA CUFPredefinedVarToGPU.cpp, flang/test/Fir/CUDA predefined-variables.mlir

[flang][cuda] Create predefined variable reads at the location of use (#222058)
DeltaFile
+41-59flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
+61-14flang/test/Fir/CUDA/predefined-variables.mlir
+102-732 files

LLVM/project 9ef6e4cclang CMakeLists.txt, llvm CMakeLists.txt

[CMake] Infer dependency-only projects from the cache

LLVM_ENABLE_PROJECTS historically treats projects enabled to satisfy another
project's dependency the same as projects selected by the user. Consequently,
implicit projects attach their complete build, install, and test suites to
LLVM's aggregate targets.

Keep the cache entry as the user-requested project roots and use the normal
LLVM_ENABLE_PROJECTS variable as the effective dependency closure. Projects in
the effective list but not the cache entry are configured with
EXCLUDE_FROM_ALL. Normalize the special all value before comparing the two
sets.

This makes Flang's MLIR and Clang dependencies dependency-only without a
second project collection. It also applies the same rule to Clang when it is
added for LLDB. Forward the cached roots to cross-compilation and bootstrap
configurations so implicit projects do not become explicit in nested builds.

Let MLIR own its dependency-only test policy: configure its complete test tree

    [13 lines not shown]
DeltaFile
+18-4llvm/CMakeLists.txt
+12-2llvm/cmake/modules/AddLLVM.cmake
+14-0mlir/CMakeLists.txt
+4-1clang/CMakeLists.txt
+1-1llvm/cmake/modules/CrossCompile.cmake
+1-0mlir/test/python/CMakeLists.txt
+50-81 files not shown
+51-87 files

LLVM/project 7010c76clang CMakeLists.txt, llvm CMakeLists.txt

[CIR][CMake] Configure MLIR as a dependency-only project

ClangIR requires MLIR, but enabling CIR currently requires users to list MLIR
explicitly in LLVM_ENABLE_PROJECTS. That also attaches all MLIR build, install,
unit-test, and lit targets to the corresponding LLVM aggregates.

When Clang is selected and CLANG_ENABLE_CIR is enabled, append MLIR to the
effective LLVM_ENABLE_PROJECTS list. The common project setup compares that
list with the cached user selection, so an explicit MLIR selection retains its
normal behavior while an implicit selection is configured with
EXCLUDE_FROM_ALL.

This makes MLIR targets available for CIR dependency resolution without adding
MLIR tests to check-all. Keep the existing standalone ClangIR restriction and
do not configure MLIR when CIR is disabled.

Validation:
- Configured Clang with CIR and implicit MLIR test support.
- Configured Clang and MLIR explicitly with CIR and tests enabled.

    [6 lines not shown]
DeltaFile
+6-0llvm/CMakeLists.txt
+2-2clang/CMakeLists.txt
+8-22 files

LLVM/project a5ff86bclang/utils/TableGen ClangOptionDocEmitter.cpp

colon fence {program}
DeltaFile
+4-4clang/utils/TableGen/ClangOptionDocEmitter.cpp
+4-41 files

LLVM/project bf7eb9fclang/include/clang/Options FlangOptions.td, flang/docs FlangOptionsMan.td FlangOptionsDocs.td

[flang][docs] Support Markdown option documentation
DeltaFile
+42-51clang/include/clang/Options/FlangOptions.td
+15-15flang/docs/CMakeLists.txt
+11-12flang/docs/FlangOptionsDocs.td
+7-5flang/docs/FlangOptionsMan.td
+75-834 files

LLVM/project 9337c42clang/docs CMakeLists.txt, clang/include/clang/Options ClangOptionDocs.td Options.td

[clang][docs] Reapply Markdown command line reference generation
DeltaFile
+33-32clang/include/clang/Options/Options.td
+39-26clang/utils/TableGen/ClangOptionDocEmitter.cpp
+8-11clang/include/clang/Options/ClangOptionDocs.td
+7-7clang/docs/CMakeLists.txt
+87-764 files

LLVM/project d3c14dfllvm/lib/Target/AArch64 AArch64ConditionalCompares.cpp, llvm/test/CodeGen/AArch64 cmpbr-ccmp.ll cmpbr-ccmp.mir

[AArch64] Form CCMP for CBB and CBH

AArch64ConditionalCompares forms CMP/CCMP chains to transform patterns
such as

                 Head                        Head
                 / |                         CmpBB
                /  |                         / |
               |  CmpBB        =>           /  |
               |  / |                    Tail  |
               | /  |                      |   |
              Tail  |                      |   |
                |   |                      |   |
               ... ...                    ... ...

where Head is terminated by a conditional branch and CmpBB contains
a cmp + conditional branch.

We usually try to split any fused conditional branches to be able to

    [8 lines not shown]
DeltaFile
+406-0llvm/test/CodeGen/AArch64/cmpbr-ccmp.mir
+232-0llvm/test/CodeGen/AArch64/cmpbr-ccmp.ll
+38-2llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
+676-23 files

LLVM/project 66462afllvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/test/CodeGen/AArch64 cmpbr-early-ifcvt.mir

[AArch64][CMPBR] Fix splitting of CBB/CBH instructions into ext + cmp (#221112)

We falsely split CBB/CBH instructions by explicitly extending the
second register operand instead of the first one, leading to the
following, wrong codegen:

    cbh $wn, $wm, cc, trgt  =>  sxth $wt, $wm
                                cmp  $wn, $wt, cc, sxth

Correct is

    cbh $wn, $wm, cc, trgt  =>  sxth $wt, $wn
                                cmp  $wt, $wm, cc, sxth

since cmp with extended register extends it's second, not its first
operand.
DeltaFile
+26-22llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+16-16llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir
+42-382 files

LLVM/project b249fd3mlir/test/Dialect/Linalg/vectorization convolution-with-patterns.mlir contraction-interface.mlir

[MLIR][Linalg] Update transform tests for strict properties (#222184)

Update recently added vectorization tests to use the custom assembly
syntax.

Strict Transform dialect properties no longer parse inherent attributes
from the generic attribute dictionary.

These tests landed concurrently with the strict-properties migration.

Assisted-by: Codex
DeltaFile
+7-7mlir/test/Dialect/Linalg/vectorization/contraction-interface.mlir
+1-1mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns.mlir
+8-82 files

LLVM/project 1977a8blibc/include netdb.yaml, libc/include/llvm-libc-macros/linux netdb-macros.h

[libc][netdb] Add AI_* family of constants. (#221360)

* Provide the values for `AI_*` flags that are passed in `ai_flags`
field of `addrinfo`
  structure to `getaddrinfo` calls.
* Reference some of those constant in a placeholder unittest. Rename it
to `getaddrinfo_test`
to clarify its scope (we'll likely be using different test files for
other netdb.h functions).
DeltaFile
+39-0libc/test/src/netdb/getaddrinfo_test.cpp
+0-34libc/test/src/netdb/netdb_test.cpp
+14-0libc/include/netdb.yaml
+8-0libc/include/llvm-libc-macros/linux/netdb-macros.h
+3-2libc/test/src/netdb/CMakeLists.txt
+64-365 files

LLVM/project 360ab50clang/test/CIR/CodeGen call-conv-lowering-x86_64-empty.cpp, clang/test/CIR/CodeGenCXX x86_64-arguments.cpp

[CIR][NFC] Tighten the direct-offset test checks

The checks pinned the byte-8 literal and little else, and the CIR side only
checked signatures. They now chain the argument through the stride into the
store, on the callee and caller side both.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+28-5clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
+20-6clang/test/CIR/CodeGenCXX/x86_64-arguments.cpp
+48-112 files

LLVM/project 600241fclang/docs/_static custom.css, clang/docs/analyzer conf.py

[clang][docs] Adopt the furo theme used by llvm and libc (#214869)

This change moves the static assets into utils/docs/llvm_sphinx, and
centralizes some of the furo theme logic there.

It then configures furo from clang/docs/conf.py and
clang/analyzer/docs/conf.py.

The temporary preview for the site is here:
https://clangdocs.staging.reidkleckner.dev/after/clang/docs/

The RFC is here:
https://discourse.llvm.org/t/rfc-use-furo-theme-for-clang-docs/91505/7

I plan to wait until at least Aug 13 before merging to gather more
feedback.
DeltaFile
+85-0clang/docs/_static/custom.css
+0-56llvm/docs/_static/copybutton.js
+0-56libc/docs/_static/copybutton.js
+56-0utils/docs/llvm_sphinx/_static/copybutton.js
+13-34clang/docs/analyzer/conf.py
+43-1utils/docs/llvm_sphinx/__init__.py
+197-14712 files not shown
+323-32918 files

LLVM/project 4a78f27clang/docs Toolchain.md ReleaseNotes.md, clang/include/clang/Basic BuiltinsAMDGPUDocs.td

[docs] Remove TOCs from Clang docs to prepare for Furo migration (#214868)

This is a mechanical change generated by
`utils/docs/remove_page_tocs.py`. In case of conflicts, which are
likely, due to the ongoing markdown migration (#201242), this script can
be re-run to regenerate the change. I'm creating a separate PR for it to
minimize the diff on the functional changes for the furo PR.
DeltaFile
+0-10clang/docs/DriverInternals.md
+0-4clang/include/clang/Basic/BuiltinsAMDGPUDocs.td
+0-4clang/docs/Toolchain.md
+0-4clang/docs/ReleaseNotes.md
+0-4clang/docs/LanguageExtensions.md
+0-4clang/docs/FunctionEffectAnalysis.md
+0-3075 files not shown
+0-25481 files

LLVM/project 1b33b8butils/bazel/llvm-project-overlay/libc BUILD.bazel

[libc][bazel] Make a large swath of targets full-build compatible
DeltaFile
+1,295-49utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+1,295-491 files

LLVM/project b586da6utils/bazel/llvm-project-overlay/libc libc_configure_options.bzl BUILD.bazel

[libc][bazel] Allow building with -DLIBC_FULL_BUILD (#218992)

This PR defines a flag `--@llvm-project//libc:build_mode` that
configures LLVM-libc to build with full-build flags. This is only
compatible with clang at the moment, since it relies on the
`-nostdlibinc` flag.

This PR contains the logic for LLVM-libc full build in Bazel. A largely
AI generated follow-on PR has `libc/BUILD.bazel` changes for building
libc targets in full-build mode:
https://github.com/llvm/llvm-project/pull/218993.
DeltaFile
+39-4utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
+22-5utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
+22-5utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+83-143 files

LLVM/project 644f006utils/bazel MODULE.bazel extensions.bzl

[libc][bazel] Add a repo with linux kernel UAPI headers (#216867)

This PR exposes a target `@linux_uapi//:linux_uapi_headers` that points
to a local directory configured by the `LINUX_UAPI_INCLUDE_DIR`
environment variable. Linux UAPI headers are required to support libc's
`FULL_BUILD` configuration, which uses `-nostdlibinc` and thus requires
a copy of linux kernel headers.
DeltaFile
+74-0utils/bazel/linux_uapi.bzl
+5-1utils/bazel/MODULE.bazel.lock
+2-0utils/bazel/extensions.bzl
+1-0utils/bazel/MODULE.bazel
+82-14 files