LLVM/project 8906bad.ci all_requirements.txt, mlir/python pyrefly.toml requirements.txt

[MLIR][Python] add pyrefly lit test
DeltaFile
+11-0.ci/all_requirements.txt
+4-0mlir/test/lit.cfg.py
+4-0mlir/python/pyrefly.toml
+2-0mlir/python/requirements.txt
+1-0mlir/test/python/type_check.py
+22-05 files

LLVM/project 08b4cb9llvm/utils git-llvm-push

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+20-19llvm/utils/git-llvm-push
+20-191 files

LLVM/project 37acbb5llvm/test/CodeGen/BPF jump_table_switch_stmt.ll remove_truncate_9.ll

[BPF] Use ".L" local prefix label for basic blocks (#95103)

Previously, PrivateLabelPrefix was default-initialized to "L", so basic
block labels were added to the symbol table. This seems like an
oversight, so use ".L" for all private labels.
DeltaFile
+36-36llvm/test/CodeGen/BPF/jump_table_switch_stmt.ll
+20-20llvm/test/CodeGen/BPF/remove_truncate_9.ll
+8-8llvm/test/CodeGen/BPF/cttz-ctlz.ll
+8-8llvm/test/CodeGen/BPF/jump_table_blockaddr.ll
+6-6llvm/test/CodeGen/BPF/jump_table_global_var.ll
+6-6llvm/test/CodeGen/BPF/gotol.ll
+84-842 files not shown
+91-918 files

LLVM/project bdbc13emlir/python pyrefly.toml requirements.txt, mlir/test lit.cfg.py

[MLIR][Python] add pyrefly lit test
DeltaFile
+4-0mlir/python/pyrefly.toml
+4-0mlir/test/lit.cfg.py
+2-0mlir/python/requirements.txt
+1-0mlir/test/python/type_check.py
+11-04 files

LLVM/project 9c4ac8eclang/lib/CIR/CodeGen CIRGenCall.cpp, clang/test/CIR/CodeGen arg-attrs.cpp invoke-attrs.cpp

[CIR] Fix reference alignment to use pointee type

getNaturalTypeAlignment on a reference type returned pointer alignment
instead of pointee alignment. Pass the pointee type with
forPointeeType=true to match traditional codegen's
getNaturalPointeeTypeAlignment behavior. Fix applies to both argument
and return type attribute construction paths.
DeltaFile
+27-4clang/test/CIR/CodeGen/arg-attrs.cpp
+13-5clang/lib/CIR/CodeGen/CIRGenCall.cpp
+3-3clang/test/CIR/CodeGen/invoke-attrs.cpp
+43-123 files

LLVM/project bc5ac5f.github/workflows llvm-abi-tests.yml libcxx-build-and-test.yaml, .github/workflows/upload-release-artifact action.yml

Update GitHub Artifact Actions (major) (#184052)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v7.0.0` → `v8.0.1` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v6.0.0` → `v7.0.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `6.0.0` → `7.0.0` |
DeltaFile
+6-6.github/workflows/llvm-abi-tests.yml
+4-4.github/workflows/libcxx-build-and-test.yaml
+4-4.github/workflows/premerge.yaml
+4-4.github/workflows/libclang-abi-tests.yml
+2-2.github/workflows/prune-branches.yml
+2-2.github/workflows/upload-release-artifact/action.yml
+22-2218 files not shown
+43-4324 files

LLVM/project 810edcabolt/docs profiles.md index.rst

[𝘀𝗽𝗿] initial version

Created using spr 1.3.4
DeltaFile
+202-0bolt/docs/profiles.md
+6-0bolt/docs/index.rst
+208-02 files

LLVM/project 41d5163llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 masked_packus.ll packus.ll

[X86] combineConcatVectorOps - concat(vtruncus(smax(x,0)),vtruncus(smax(y,0))) -> packus(shuffle(x,y),shuffle(x,y)) (#186681)

Followup to vtruncs/packss handling
DeltaFile
+2-22llvm/test/CodeGen/X86/masked_packus.ll
+16-8llvm/lib/Target/X86/X86ISelLowering.cpp
+2-20llvm/test/CodeGen/X86/packus.ll
+20-503 files

LLVM/project 9e22690mlir/python/mlir/runtime np_to_memref.py, mlir/test/python execution_engine.py

Revert "Support float8_e3m4 and float8_e4m3 in np_to_memref (#186453)" (#186677)

This reverts commit 57427f84fe5fdda71aef4be257ed28d7b4f55d05.

For some reason mlir-nvidia CI is failing to import `float8_e3m4` from
`ml_dtypes`. See
https://lab.llvm.org/buildbot/#/builders/138/builds/27095.
DeltaFile
+1-85mlir/test/python/execution_engine.py
+5-24mlir/python/mlir/runtime/np_to_memref.py
+6-1092 files

LLVM/project 27dd55b.ci monolithic-windows.sh

Revert "[CI] Try lowering max parallel link jobs on Windows (#185255)"

This reverts commit af22b50fac2311ff3f859e4e8bdec552c7aa8d5a.

This seems to have had no noticeable effect on the frequency of failures
so likely was not the issue.
DeltaFile
+1-2.ci/monolithic-windows.sh
+1-21 files

LLVM/project 5ccfc9dllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 masked_packss.ll packss.ll

[X86] combineConcatVectorOps - concat(vtruncs(x),vtruncs(y)) -> packss(shuffle(x,y),shuffle(x,y)) (#186678)

Although at worst this isn't a reduction in instruction count, the shuffle/packss sequence is much easier for further folds / shuffle combining
DeltaFile
+19-0llvm/lib/Target/X86/X86ISelLowering.cpp
+2-16llvm/test/CodeGen/X86/masked_packss.ll
+2-14llvm/test/CodeGen/X86/packss.ll
+23-303 files

LLVM/project 211279dllvm/lib/CodeGen CodeGenPrepare.cpp, llvm/test/CodeGen/AArch64 O3-pipeline.ll

[CodeGenPrepare][NFC] Get BPI/BFI from pass/analysis manager (#186651)

BranchProbabilityInfo will compute it's own dominator tree and
post-dominator tree if none is specified; avoid this by using the
analysis manager/pass manager to get the analysis, which will reuse the
previously computed DomTree.
DeltaFile
+12-12llvm/lib/CodeGen/CodeGenPrepare.cpp
+12-0llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
+3-0llvm/test/CodeGen/RISCV/O3-pipeline.ll
+3-0llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+3-0llvm/test/CodeGen/X86/opt-pipeline.ll
+3-0llvm/test/CodeGen/AArch64/O3-pipeline.ll
+36-123 files not shown
+45-129 files

LLVM/project d2ffc11llvm/lib/Analysis CFG.cpp, llvm/lib/Transforms/InstCombine InstructionCombining.cpp

[CFG][InstCombine][NFC] Use block numbers when finding backedges (#186668)

The functions traverse all basic blocks, so SmallPtrSets use a single
vector indexed by block number.
DeltaFile
+34-25llvm/lib/Analysis/CFG.cpp
+3-3llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+37-282 files

LLVM/project dab1e30llvm/lib/Transforms/Scalar SimplifyCFGPass.cpp

[SimplifyCFG][NFC] Renumber blocks when changing func (#186666)

Keep numbering dense when changing the function. SimplifyCFG is a good
candidate, because it is likely to remove blocks and preserves few
analyses.
DeltaFile
+5-1llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
+5-11 files

LLVM/project 926bea9llvm/lib/Transforms/Utils Local.cpp

[Transforms/Utils][NFC] Replace SmallPtrSet with vector (#186664)

Typically most blocks in a function are reachable, so use a vector
indexed by block number instead of a SmallPtrSet.
DeltaFile
+10-13llvm/lib/Transforms/Utils/Local.cpp
+10-131 files

LLVM/project 3ed4ebellvm/include/llvm/CodeGen LiveIntervals.h

Format
DeltaFile
+1-1llvm/include/llvm/CodeGen/LiveIntervals.h
+1-11 files

LLVM/project 88a268bllvm/include/llvm/CodeGen LiveIntervals.h, llvm/lib/CodeGen Rematerializer.cpp

[CodeGen] Fix multiple connected component issue in rematerializer

This fixes a rematerializer issue wherein re-creating the interval of a
non-rematerializable super-register defined over multiple MIs, some of
which defining entirely dead subregisters, could cause a crash when
changing the order of sub-definitions (for example during scheduling)
because the re-created interval could end up with multiple connected
components, which is illegal. The solution is to split separate
components of the interval in such cases. The added unit test crashes
without that added behavior.
DeltaFile
+71-0llvm/unittests/CodeGen/RematerializerTest.cpp
+16-1llvm/lib/CodeGen/Rematerializer.cpp
+6-0llvm/include/llvm/CodeGen/LiveIntervals.h
+93-13 files

LLVM/project 57427f8mlir/python/mlir/runtime np_to_memref.py, mlir/test/python execution_engine.py

Support float8_e3m4 and float8_e4m3 in np_to_memref (#186453)

This patch adds support for `float8_e3m4` and `float8_e4m3` in
`np_to_memref.py` by adding the appropriate ctypes structures
DeltaFile
+85-1mlir/test/python/execution_engine.py
+24-5mlir/python/mlir/runtime/np_to_memref.py
+109-62 files

LLVM/project 0277b44clang/lib/CIR/CodeGen CIRGenCall.cpp, clang/test/CIR/CodeGen arg-attrs.cpp

[CIR] Fix reference alignment to use pointee type

getNaturalTypeAlignment on a reference type returned pointer alignment
instead of pointee alignment. Pass the pointee type with
forPointeeType=true to match traditional codegen's
getNaturalPointeeTypeAlignment behavior. Fix applies to both argument
and return type attribute construction paths.
DeltaFile
+27-4clang/test/CIR/CodeGen/arg-attrs.cpp
+13-5clang/lib/CIR/CodeGen/CIRGenCall.cpp
+40-92 files

LLVM/project ed6fc49llvm/test/CodeGen/X86 known-never-zero.ll

[X86] known-never-zero.ll - add vector test coverage for #186335 (#186660)
DeltaFile
+49-0llvm/test/CodeGen/X86/known-never-zero.ll
+49-01 files

LLVM/project b751719clang-tools-extra/clang-tidy/performance InefficientStringConcatenationCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Adds do-while support to performance-inefficient-string-concatenation (#186607)

Closes #186362

---------

Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
DeltaFile
+5-5clang-tools-extra/clang-tidy/performance/InefficientStringConcatenationCheck.cpp
+6-0clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.rst
+2-2clang-tools-extra/docs/clang-tidy/checks/performance/inefficient-string-concatenation.rst
+18-74 files

LLVM/project f8b2bc6llvm/lib/Target/X86 X86InstrAVX512.td, llvm/test/CodeGen/X86 shift-i512.ll

[X86] Add missing VPSRAQ broadcast-from-mem patterns for non-VLX targets (#186654)
DeltaFile
+6-0llvm/lib/Target/X86/X86InstrAVX512.td
+1-2llvm/test/CodeGen/X86/shift-i512.ll
+7-22 files

LLVM/project cbcfa44clang/tools/clang-ssaf-format SSAFFormat.cpp CMakeLists.txt, clang/tools/clang-ssaf-linker SSAFLinker.cpp CMakeLists.txt

[clang][ssaf][NFC] Prefix ssaf-{linker,format} dirs with 'clang-' (#186610)

Addresses:
https://github.com/llvm/llvm-project/pull/185631#issuecomment-4054586633
DeltaFile
+0-483clang/tools/ssaf-format/SSAFFormat.cpp
+483-0clang/tools/clang-ssaf-format/SSAFFormat.cpp
+329-0clang/tools/clang-ssaf-linker/SSAFLinker.cpp
+0-329clang/tools/ssaf-linker/SSAFLinker.cpp
+14-0clang/tools/clang-ssaf-linker/CMakeLists.txt
+14-0clang/tools/clang-ssaf-format/CMakeLists.txt
+840-8128 files not shown
+864-86414 files

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

[CIR] Split BinOpOverflowOp into separate overflow-checked ops

Replace the monolithic cir.binop.overflow operation and its
BinOpOverflowKind enum with three individual operations:
cir.add.overflow, cir.sub.overflow, and cir.mul.overflow.

This follows the same pattern used when BinOp and UnaryOp were
previously split into per-operation ops (cir.add, cir.sub, etc.),
eliminating enum dispatch and enabling per-op traits like Commutative.
DeltaFile
+62-47clang/include/clang/CIR/Dialect/IR/CIROps.td
+37-49clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+42-34clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+30-30clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
+7-7clang/test/CIR/CodeGen/new.cpp
+6-6clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+184-1736 files

LLVM/project a7aebd8clang/docs ClangFormatStyleOptions.rst, clang/include/clang/Format Format.h

[clang-format] Add option AllowShortRecordOnASingleLine (#154580)

This patch supersedes PR #151970 by adding the option
``AllowShortRecordOnASingleLine`` that allows the following formatting:
```c++
  struct foo {};
  struct bar { int i; };
  struct baz
  {
    int i;
    int j;
    int k;
  };
```

---------

Co-authored-by: owenca <owenpiano at gmail.com>
DeltaFile
+110-22clang/lib/Format/UnwrappedLineFormatter.cpp
+95-0clang/unittests/Format/FormatTest.cpp
+36-0clang/docs/ClangFormatStyleOptions.rst
+31-0clang/include/clang/Format/Format.h
+19-7clang/lib/Format/UnwrappedLineParser.cpp
+8-5clang/lib/Format/TokenAnnotator.cpp
+299-343 files not shown
+322-349 files

LLVM/project 74aa04fclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenBuiltin.cpp CIRGenExprCXX.cpp

[CIR] Split BinOpOverflowOp into separate overflow-checked ops

Replace the monolithic cir.binop.overflow operation and its
BinOpOverflowKind enum with three individual operations:
cir.add.overflow, cir.sub.overflow, and cir.mul.overflow.

This follows the same pattern used when BinOp and UnaryOp were
previously split into per-operation ops (cir.add, cir.sub, etc.),
eliminating enum dispatch and enabling per-op traits like Commutative.
DeltaFile
+62-47clang/include/clang/CIR/Dialect/IR/CIROps.td
+37-49clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+44-36clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+30-30clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
+7-7clang/test/CIR/CodeGen/new.cpp
+6-6clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+186-1756 files

LLVM/project 92f9df1llvm/include/llvm/Analysis BranchProbabilityInfo.h, llvm/lib/Analysis BranchProbabilityInfo.cpp

[Analysis][NFC] Move BranchProbabilityInfo constr to cpp (#186648)

The implementation details of the analysis are irrelevant for users,
therefore move these to the .cpp file.
DeltaFile
+274-85llvm/lib/Analysis/BranchProbabilityInfo.cpp
+1-184llvm/include/llvm/Analysis/BranchProbabilityInfo.h
+275-2692 files

LLVM/project bd933ccllvm/cmake/modules AddLLVM.cmake

[CMake] Disable PCH reuse for plugins in non-PIC builds (#186643)

Plugins are always PIC and therefore cannot reuse non-PIC PCH.
DeltaFile
+5-0llvm/cmake/modules/AddLLVM.cmake
+5-01 files

LLVM/project 4743e71clang/lib/AST/ByteCode Compiler.cpp EvalEmitter.h

[clang][bytecode] Remove unused members from `EvalEmitter` (#186601)

Remove the DenseMap handling lambda paramter mappings from
`EvalEmitter`. This was always unused. Remove it and use `if constexpr`
to keep things compiling.
DeltaFile
+15-11clang/lib/AST/ByteCode/Compiler.cpp
+0-4clang/lib/AST/ByteCode/EvalEmitter.h
+15-152 files

LLVM/project 27e4ef6clang/docs ClangFormatStyleOptions.rst, clang/include/clang/Format Format.h

[clang-format] Upgrade ShortFunctionStyle to a struct (#134337)

The current clang-format configuration
option AllowShortFunctionsOnASingleLine uses a single enum
(ShortFunctionStyle) to control when short function definitions can be
merged onto a single line. This enum provides predefined combinations of
conditions
(e.g., None, Empty only, Inline only, Inline including Empty, All).

This approach has limitations:

1. **Lack of Granularity:** Users cannot specify arbitrary combinations
of conditions. For example, a user might want to allow merging
for both empty functions and short top-level functions, but not for
short functions defined within classes. This is not possible with the
current enum options except by choosing All, which might merge more than
desired.

2. **Inflexibility:** Adding new conditions for merging (e.g.,

    [15 lines not shown]
DeltaFile
+150-26clang/unittests/Format/FormatTest.cpp
+100-24clang/include/clang/Format/Format.h
+66-10clang/docs/ClangFormatStyleOptions.rst
+35-17clang/lib/Format/Format.cpp
+19-7clang/unittests/Format/ConfigParseTest.cpp
+11-6clang/unittests/Format/FormatTestJS.cpp
+381-905 files not shown
+397-10411 files