LLVM/project b33c301llvm/test/Transforms/LoopVectorize epilog-vectorization-fmaxnum-reductions.ll epilog-vectorization-fixed-order-recurrences.ll, llvm/test/Transforms/LoopVectorize/AArch64 loop-vectorization-factors.ll

[LV] Extend epilogue vectorization test coverage with dead FORs/FMinMax. (#191799)

Extend test coverage with dedicated epilogue vectorization tests for
dead first-order recurrences and FMinMaxNum reductions.

Add users to FORs in existing tests where the dead FORs appeared
unintentional.
DeltaFile
+287-277llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
+254-283llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
+199-0llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
+188-0llvm/test/Transforms/LoopVectorize/epilog-vectorization-fixed-order-recurrences.ll
+928-5604 files

LLVM/project 883142bclang/test/Analysis cxx-uninitialized-object-union-field.cpp

Implement tests for union field initialization warnings

Add tests for uninitialized union fields in structs/classes.
DeltaFile
+57-0clang/test/Analysis/cxx-uninitialized-object-union-field.cpp
+57-01 files

LLVM/project 7083e9dcompiler-rt/test/sanitizer_common/TestCases print-stack-trace.cpp, compiler-rt/test/sanitizer_common/TestCases/Linux internal_symbolizer.cpp

XFAIL symbolizer test for TySan (#191810)
DeltaFile
+3-0compiler-rt/test/sanitizer_common/TestCases/Linux/internal_symbolizer.cpp
+2-0compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
+5-02 files

LLVM/project 14f2556clang/lib/AST/ByteCode Interp.h, clang/test/AST/ByteCode cxx11.cpp

[clang][bytecode] Don't check anonymous union in memcpy op (#191783)

It's fine if they are uninitialized.
DeltaFile
+11-1clang/test/AST/ByteCode/cxx11.cpp
+4-2clang/lib/AST/ByteCode/Interp.h
+15-32 files

LLVM/project d5b8d88clang/lib/AST/ByteCode Pointer.cpp Interp.cpp, clang/test/AST/ByteCode placement-new.cpp

[clang][bytecode] Fix activating primitive array elements (#191772)

For primitive array elements, we would accidentally activate the element
and then immediate de-activate the array root, which is wrong. Ignore
the element from the beginning to the later check never even compares
with the element.
DeltaFile
+26-0clang/test/AST/ByteCode/placement-new.cpp
+5-0clang/lib/AST/ByteCode/Pointer.cpp
+2-0clang/lib/AST/ByteCode/Interp.cpp
+33-03 files

LLVM/project 628a2b5clang/lib/StaticAnalyzer/Checkers/UninitializedObject UninitializedObjectChecker.cpp

Add support for uninitialized union fields check

Implement support for checking uninitialized union fields in FindUninitializedFields.
DeltaFile
+24-2clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
+24-21 files

LLVM/project 80d72aelldb/include/lldb/Target ExecutionContext.h

[lldb] Remove declarations of two non-existent constructors (NFC) (#191622)

They have never existed since the initial public checkin.
DeltaFile
+0-23lldb/include/lldb/Target/ExecutionContext.h
+0-231 files

LLVM/project f4da0callvm/include/llvm/ExecutionEngine/Orc SimpleRemoteEPC.h, llvm/lib/ExecutionEngine/Orc SimpleRemoteEPC.cpp

[ORC] Sink a #include in SimpleRemoteEPC.h, and remove another. (#191797)

These #includes are only needed in the SimpleRemoteEPC.cpp
implementation.
DeltaFile
+0-2llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
+1-0llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
+1-22 files

LLVM/project b9d6efeclang-tools-extra/clang-tidy/fuchsia TemporaryObjectsCheck.cpp TemporaryObjectsCheck.h, clang-tools-extra/clang-tidy/utils CheckUtils.h

[clang-tidy] Emit warning when user is using deprecated `zircon` checks (#189522)

Add `utils::diagDeprecatedCheckAlias` so checks can detect whether they
are running under a deprecated name without enabling the new names.

This commit also comes with an example with `zircon` module. It is
deprecated in 22 release but we didn't provide a note for it before.
DeltaFile
+118-0clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
+26-0clang-tools-extra/clang-tidy/utils/CheckUtils.h
+18-0clang-tools-extra/test/clang-tidy/checkers/fuchsia/temporary-objects-deprecated-alias.cpp
+13-0clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.cpp
+1-3clang-tools-extra/clang-tidy/fuchsia/TemporaryObjectsCheck.h
+176-35 files

LLVM/project f34ea95clang/lib/Sema AnalysisBasedWarnings.cpp

remove dtors from cfg
DeltaFile
+0-2clang/lib/Sema/AnalysisBasedWarnings.cpp
+0-21 files

LLVM/project e4e3605clang/test/Sema warn-lifetime-safety-suggestions.cpp

more tests
DeltaFile
+51-32clang/test/Sema/warn-lifetime-safety-suggestions.cpp
+51-321 files

LLVM/project 501bc05clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/lib/Analysis/LifetimeSafety Checker.cpp

Refactor EscapingTarget
DeltaFile
+5-10clang/lib/Analysis/LifetimeSafety/Checker.cpp
+6-3clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+3-3clang/lib/Sema/SemaLifetimeSafety.h
+14-163 files

LLVM/project 52cdb95clang/lib/Analysis/LifetimeSafety Checker.cpp

doc update
DeltaFile
+2-1clang/lib/Analysis/LifetimeSafety/Checker.cpp
+2-11 files

LLVM/project 341f87fclang/lib/Analysis/LifetimeSafety Checker.cpp

refactor
DeltaFile
+5-5clang/lib/Analysis/LifetimeSafety/Checker.cpp
+5-51 files

LLVM/project 0509d11clang/include/clang/Analysis/Analyses/LifetimeSafety LifetimeSafety.h, clang/lib/Analysis/LifetimeSafety Checker.cpp

Annotation inference on constructor
DeltaFile
+19-21clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
+28-11clang/lib/Analysis/LifetimeSafety/Checker.cpp
+39-0clang/test/Sema/warn-lifetime-safety-suggestions.cpp
+12-6clang/lib/Sema/SemaLifetimeSafety.h
+6-6clang/test/Sema/warn-lifetime-safety.cpp
+5-4clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
+109-481 files not shown
+113-487 files

LLVM/project e572b0cflang/test/Fir dispatch.f90, flang/test/Lower extrn_subp.f90 pointer-default-init.f90

[Flang] External subprograms should be allowed as proc_target in procedure pointers. (#183268)

Fixes https://github.com/llvm/llvm-project/issues/177505.

This patch updates an existing external procedure symbol with the
correct function signature and argument attributes, so it can be safely
used as a proc_target without signature conflicts.

---------

Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
DeltaFile
+65-63flang/test/Lower/OpenACC/acc-declare.f90
+66-0flang/test/Lower/extrn_subp.f90
+20-19flang/test/Lower/pointer-default-init.f90
+10-12flang/test/Lower/c-interoperability.f90
+12-10flang/test/Fir/dispatch.f90
+9-11flang/test/Lower/CUDA/cuda-data-attribute.cuf
+182-11518 files not shown
+270-19524 files

LLVM/project f9c9f94llvm/lib/Target/AArch64 AArch64InstrInfo.cpp AArch64PrologueEpilogue.cpp, llvm/test/CodeGen/AArch64 sign-return-address-pauthlr-slh.ll

[AArch64] Mark X16 as clobbered in PAUTH_EPILOGUE for hint-based PAuthLR (#175991)

When users request branch protection with PAuthLR on targets that do not
support the PAuthLR instructions, the PAUTH_EPILOGUE falls back to using
hint-space instructions. This fallback sequence uses X16 as a temporary
register, but X16 was not listed in the clobber set.

Because Speculative Load Hardening uses X16, this omission made SLH
incompatible with this PAUTH_EPILOGUE path.

Mark X16 as clobbered so the compiler does not assume X16 is preserved
across the epilogue, restoring compatibility with Speculative Load
Hardening and avoiding incorrect register liveness assumptions. The
clobber is added in C++ rather than TableGen, as X16 is only clobbered
when PAuthLR is requested as a branch protection variation and should
not be treated as clobbered unconditionally.
DeltaFile
+103-0llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
+12-3llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+2-5llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
+6-0llvm/lib/Target/AArch64/AArch64InstrInfo.h
+5-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+1-2llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+129-106 files

LLVM/project e027a17llvm/test/CodeGen/SPIRV logical-struct-access.ll

[NFC][SPIR-V] Fix logical-struct-access.ll to pass spirv-val validation (#191792)

OpReturnValue with a pointer type is invalid in SPIR-V Logical
addressing model (Vulkan). The functions in the test return
OpAccessChain results, which are pointers

related to https://github.com/llvm/llvm-project/issues/190736
DeltaFile
+37-27llvm/test/CodeGen/SPIRV/logical-struct-access.ll
+37-271 files

LLVM/project e455e6clibc/fuzzing/string strnlen_s_differential_fuzz.cpp, libc/include string.yaml

[libc] Add Annex K strnlen_s function (#186112)

This patch adds the `strnlen_s` function from Annex K.

In order to reduce duplication between `strnlen` and `strnlen_s`, the
common logic has been extracted to a new internal function which both
now call.

In addition to the function definition, the patch adds a unit test and a
fuzzing test.
DeltaFile
+59-0libc/fuzzing/string/strnlen_s_differential_fuzz.cpp
+57-0libc/test/src/string/strnlen_s_test.cpp
+21-0libc/src/string/strnlen_s.cpp
+21-0libc/src/string/strnlen_s.h
+13-0libc/src/string/CMakeLists.txt
+10-0libc/include/string.yaml
+181-019 files not shown
+223-325 files

LLVM/project dd0c5ebcompiler-rt/test/sanitizer_common lit.common.cfg.py, compiler-rt/test/sanitizer_common/TestCases hard_rss_limit_mb_test.cpp

[TySan][Sanitizer Common] Enable TySan testing in the sanitizer commo… (#191385)

…n test suite

Secondary pr to enable tests after
https://github.com/llvm/llvm-project/pull/183310 enables the features
DeltaFile
+2-2compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
+2-2compiler-rt/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cpp
+2-2compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
+3-0compiler-rt/test/sanitizer_common/lit.common.cfg.py
+3-0compiler-rt/test/sanitizer_common/TestCases/Linux/decorate_proc_maps.cpp
+3-0compiler-rt/test/sanitizer_common/TestCases/Posix/mmap_write_exec.cpp
+15-632 files not shown
+51-3438 files

LLVM/project 848bf3eflang/test/Lower/Intrinsics transpose_opt.f90 ubound.f90

[flang][NFC] Converted five tests from old lowering to new lowering (part 43) (#191753)

Tests converted from test/Lower/Intrinsics: transpose.f90,
transpose_opt.f90, trim.f90, ubound.f90, ubound01.f90
DeltaFile
+11-84flang/test/Lower/Intrinsics/transpose_opt.f90
+31-53flang/test/Lower/Intrinsics/ubound.f90
+9-19flang/test/Lower/Intrinsics/transpose.f90
+9-13flang/test/Lower/Intrinsics/trim.f90
+3-2flang/test/Lower/Intrinsics/ubound01.f90
+63-1715 files

LLVM/project 1c1d0cdmlir/lib/Dialect/LLVMIR/IR LLVMAttrs.cpp, mlir/lib/Target/LLVMIR ModuleImport.cpp

[MLIR][LLVMIR] Handle MDTuple-of-MDStrings module flags (e.g. riscv-isa) (#188741)

The "riscv-isa" LLVM module flag stores its value as an MDTuple
containing MDStrings (e.g. `\!{\!"rv64i2p1", \!"m2p0"}`). Previously,
this fell through the unrecognized-key path in
`convertModuleFlagValueFromMDTuple`, which emitted a warning and dropped
the flag during import.

This patch adds generic handling for MDTuples whose operands are all
MDStrings:
- Import: convert to `ArrayAttr<StringAttr>` in
`convertModuleFlagValueFromMDTuple`
- Export: convert `ArrayAttr<StringAttr>` back to an MDTuple of
MDStrings in `convertModuleFlagValue`, enabling a lossless round-trip
- Verifier: allow `ArrayAttr<StringAttr>` as a valid `ModuleFlagAttr`
value for keys not otherwise handled by specific verifier branches

Fixes #188122

Assisted-by: Claude Code
DeltaFile
+12-2mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
+12-1mlir/lib/Target/LLVMIR/ModuleImport.cpp
+12-0mlir/test/Target/LLVMIR/Import/module-flags.ll
+11-0mlir/test/Target/LLVMIR/llvmir.mlir
+9-0mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
+1-1mlir/test/Dialect/LLVMIR/invalid.mlir
+57-46 files

LLVM/project 65f4e70lldb/docs dil-expr-lang.ebnf, lldb/include/lldb/ValueObject DILEval.h

[lldb] Add binary multiplication, division, remainder to DIL (#187281)

Add binary arithmetic multiplication, division, remainder to DIL.
This patch also passes DILMode to the parser to check if binary
multiplication is allowed by the mode. This cannot be done in the lexer
alone, because it allows token `*` as a dereference operator for legacy
mode, but that token could also be a binary multiplication allowed only
in full mode.
DeltaFile
+99-4lldb/source/ValueObject/DILEval.cpp
+73-0lldb/test/API/commands/frame/var-dil/expr/Arithmetic/TestFrameVarDILArithmetic.py
+35-7lldb/source/ValueObject/DILParser.cpp
+9-4lldb/source/ValueObject/DILLexer.cpp
+9-0lldb/include/lldb/ValueObject/DILEval.h
+6-2lldb/docs/dil-expr-lang.ebnf
+231-175 files not shown
+249-2011 files

LLVM/project f3fce67mlir/test/mlir-tblgen op-format-invalid.td op-format-spec.td, mlir/tools/mlir-tblgen OpFormatGen.cpp

[MLIR][ODS] Error on optional attribute used outside optional group in assemblyFormat (#188726)

Using an optional attribute directly in assemblyFormat (e.g., `$attr
attr-dict`) without wrapping it in an optional group causes the
generated printer to call `printAttribute` with a null `Attribute` when
the attribute is absent. This leads to a crash in the alias initializer
when it calls `getAlias` on a null attribute.

Add a validation check in `OpFormatParser::verifyAttributes` that
detects this pattern and emits a diagnostic error with a helpful note
pointing users to the correct `($attr^)?` syntax.

Fixes #58064

Assisted-by: Claude Code
DeltaFile
+19-0mlir/tools/mlir-tblgen/OpFormatGen.cpp
+6-0mlir/test/mlir-tblgen/op-format-invalid.td
+1-1mlir/test/mlir-tblgen/op-format-spec.td
+26-13 files

LLVM/project a98ecc9lldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp DWARFASTParserClang.h, lldb/source/Plugins/TypeSystem/Clang TypeSystemClang.cpp

Revert "[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type te…" (#191798)

Reverts llvm/llvm-project#189510

Crashes lldb on certain type of debug info. See
https://github.com/llvm/llvm-project/pull/189510#issuecomment-4235929442
for more details.
DeltaFile
+11-94lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+0-16lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp
+0-14lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
+0-7lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+0-3lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
+0-2lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+11-1366 files

LLVM/project 73dd62dlldb/source/Plugins/Process/FreeBSD-Kernel-Core ProcessFreeBSDKernelCore.cpp

[lldb][Process/FreeBSDKernelCore] Improve error handling (#191423)

Improve error handling with the following changes:

- If `kvm_open2()` fails in `DoLoadCore()`, log error with a message
obtained from the function.
- Return false or continue for loop if memory read fails.
- Rename `!error.Success()` to `error.Fail()` for readability (NFC).

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
DeltaFile
+64-9lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
+64-91 files

LLVM/project d9a9962llvm/lib/DebugInfo/GSYM GsymCreator.cpp

[GSYM] Silence cast warning (#191561)

Previously clang-cl was generating "warning: comparison of integers of
different signs".
DeltaFile
+1-1llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
+1-11 files

LLVM/project 571beb5compiler-rt/cmake config-ix.cmake, compiler-rt/cmake/Modules CompilerRTCompile.cmake

[compiler-rt] clang-cl: skip MSVC external-header probe; -std=c++ for unit-test compiles (#191564)

1. `check_cxx_compiler_flag` marked `COMPILER_RT_HAS_EXTERNAL_FLAG` true
for clang-cl, so `/experimental:external` and `/external:anglebrackets`
were passed and clang-cl warned they were unused. Now only probe with
real MSVC (not Clang); set the flag false otherwise; rely on that in
asan/interception/ubsan.

2. Custom compile lines for unit tests didn’t get C++17, so headers hit
`-Wc++17-extensions` (e.g. `constexpr if` / message-less `static_assert`
in FuzzedDataProvider / asan_fake_stack). Now append
`-std=c++${CMAKE_CXX_STANDARD}` or `-std=c++17` for C++ sources in
`clang_compile()` for both standalone and non-standalone builds.
DeltaFile
+11-0compiler-rt/cmake/Modules/CompilerRTCompile.cmake
+5-1compiler-rt/cmake/config-ix.cmake
+1-3compiler-rt/lib/interception/CMakeLists.txt
+1-3compiler-rt/lib/ubsan/CMakeLists.txt
+1-3compiler-rt/lib/asan/CMakeLists.txt
+19-105 files

LLVM/project 418cf63lldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp DWARFASTParserClang.h, lldb/source/Plugins/TypeSystem/Clang TypeSystemClang.cpp

Revert "[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type (#…"

This reverts commit 103f821cb0977612fbff270df0e81801e8b93ed4.
DeltaFile
+11-94lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+0-16lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp
+0-14lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
+0-7lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+0-3lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
+0-2lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+11-1366 files

LLVM/project 988e00eopenmp/runtime/src kmp_alloc.cpp

[openmp] Silence warnings when building on Windows (#191556)

Fixes unused-but-set globals on non-Unix paths in kmp_alloc.cpp
DeltaFile
+21-20openmp/runtime/src/kmp_alloc.cpp
+21-201 files