LLVM/project e37ca02compiler-rt/test/asan/TestCases asan_and_llvm_coverage_test.cpp

[compiler-rt] Add MSVC CRT flags to ASan coverage test (#195719)

The ASan coverage test also links clang_rt.profile because it uses
-coverage. On Windows MSVC, this can fail if the test is linked with the
static CRT but clang_rt.profile was built with the dynamic CRT.

For example, a profile runtime that uses /MD may reference DLL CRT
symbols
such as __imp_* symbols. Add the same dynamic CRT flags directly to this
one test on Windows MSVC so it keeps linking when clang_rt.profile
changes.
DeltaFile
+5-1compiler-rt/test/asan/TestCases/asan_and_llvm_coverage_test.cpp
+5-11 files

LLVM/project f81445ellvm/lib/Analysis InlineOrder.cpp

[InlineOrder] Remove unused InlineHistoryMap (#195769)

This patch removes InlineHistoryMap, an unused variable.  The last
use was removed by:

  commit 3af427539bc6b85a9fe3334b9a0b43d347ea29ac
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   Wed Apr 8 09:34:52 2026 -0700
DeltaFile
+0-1llvm/lib/Analysis/InlineOrder.cpp
+0-11 files

LLVM/project 9701e73clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaDeclCXX.cpp SemaExprCXX.cpp

[clang][P2719] Relax requirements for matching operator new and delete

The most recent revision of P2719 introduced very strict rules about
matching parameter sets between type aware operators new and delete.

The intention was to resolve the classic "no matching operator delete
has been found so the object will silently leak" problem. The strict
rules however made deleting objects that had a placement new
"impossible".

I missed this however as all of our large scale tests involved
projects that were already using manually implemented allocators
(often trying to support type isolation). The problem with this from
a validation point of view is simple: all of these projects had
existing class scoped operators, and the untyped delete was silently
selected, avoiding the need for a non-placement type-aware delete
that would conflict with the placement cleanup delete.

The next revision of P2719 resolves this by removing the exact type

    [6 lines not shown]
DeltaFile
+57-21clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
+38-27clang/lib/Sema/SemaDeclCXX.cpp
+21-37clang/lib/Sema/SemaExprCXX.cpp
+33-9clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
+4-4clang/include/clang/Basic/DiagnosticSemaKinds.td
+3-3clang/test/SemaCXX/type-aware-coroutines.cpp
+156-1011 files not shown
+157-1027 files

LLVM/project 94b475dlibunwind/src Registers.hpp, libunwind/test aarch64_za_unwind.pass.cpp

[libunwind] Add SME detection for Apple platforms (#193630)

Copy SME detection sysctl code from ZA test. Also fix a
logic issue in the original code while being reviewed.
DeltaFile
+12-1libunwind/src/Registers.hpp
+1-1libunwind/test/aarch64_za_unwind.pass.cpp
+13-22 files

LLVM/project b5f4f16libcxx/include string, libcxx/test/libcxx/strings/basic.string asan_vector_integration.pass.cpp asan_deque_integration.pass.cpp

[libcxx] Remove ASan container overflow checks for SSO strings (#194208)

Essentially a revert of #79536, although manual given how much the code
has changed.

Doing container overflow checks on SSO strings is fundamentally unsound
due to how they interact with compiler optimizations within LLVM, which
assume that the entire object is dereferencable when it is live. LLVM
can sometimes insert speculative loads that will create false positives
when they try and load a partially filled SSO buffer. This was
previously prevented using inline asm barriers within std::string
itself. However, this can also manifest in other ways, with the
motivating example for the revert being GlobalOpt inserting a
speculative load of a std::variant containing a SSO std::string, causing
an ASan failure.
DeltaFile
+0-182libcxx/test/libcxx/strings/basic.string/asan_vector_integration.pass.cpp
+0-182libcxx/test/libcxx/strings/basic.string/asan_deque_integration.pass.cpp
+0-56libcxx/test/libcxx/strings/basic.string/asan_short.pass.cpp
+2-33libcxx/include/string
+24-5libcxx/test/support/asan_testing.h
+26-4585 files

LLVM/project e7ea34eclang/test/AST ast-dump-templates.cpp, llvm/test/CodeGen/RISCV rvp-simd-64.ll atomic-rmw.ll

rebase

Created using spr 1.3.7
DeltaFile
+652-9,343clang/test/AST/ast-dump-templates.cpp
+5,061-4,162llvm/test/CodeGen/Thumb2/mve-clmul.ll
+4,652-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+2,420-2,120llvm/test/CodeGen/RISCV/atomic-rmw.ll
+2,940-1,458llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,936-1,457llvm/test/CodeGen/X86/vector-reduce-smax.ll
+18,661-18,5406,136 files not shown
+265,686-136,6696,142 files

LLVM/project 7c17a1dmlir/lib/Dialect/Transform/IR Utils.cpp

[MLIR][Transform] Don't error when a structurally inlinable call exists
DeltaFile
+30-2mlir/lib/Dialect/Transform/IR/Utils.cpp
+30-21 files

LLVM/project c4de387llvm/include/llvm/CodeGen AsmPrinter.h, llvm/include/llvm/IR DebugInfoMetadata.h

[NVPTX] Fix for LTO dwarf emission when multiple CUs with a mix of DebugDirectivesOnly and NoDebug (#190371)

Only emit the initial .loc dwarf directive if the CU requires debug
information. When a module contains multiple CUs where one is
DebugDirectiveOnly and the rest are NoDebug, we attempt to emit dwarf
for the NoDebug compile units leading to an assertion when calling
emitDwarfFile0Directive when in getOrCreateDwarfCompileUnit. 

I added a lit test for this case which used to assert.
DeltaFile
+92-0llvm/test/DebugInfo/NVPTX/no-debug-loc.ll
+25-5llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+0-13llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+0-3llvm/include/llvm/CodeGen/AsmPrinter.h
+2-0llvm/include/llvm/IR/DebugInfoMetadata.h
+119-215 files

LLVM/project 13e16d7llvm/test/CodeGen/AArch64 call-rv-marker.ll reduce-or.ll, llvm/test/CodeGen/X86 vector-reduce-umin.ll vector-reduce-umax.ll

Merge commit 'llvmorg-23-init-13816-g0135cf99f3a2' into users/chapuni/cov/expansion

Conflicts:
        llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
DeltaFile
+532-602llvm/test/CodeGen/X86/vector-reduce-umin.ll
+521-588llvm/test/CodeGen/X86/vector-reduce-umax.ll
+240-784llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
+400-452llvm/test/CodeGen/AArch64/call-rv-marker.ll
+409-420llvm/test/CodeGen/AArch64/reduce-or.ll
+408-419llvm/test/CodeGen/AArch64/reduce-and.ll
+2,510-3,265247 files not shown
+10,132-7,415253 files

LLVM/project 222fbe4clang/include/clang/AST ASTContext.h, clang/lib/AST ASTContext.cpp ItaniumMangle.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.

This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.

Fixes #8740
Fixes #61818
Fixes #190388
DeltaFile
+906-175clang/lib/AST/ASTContext.cpp
+318-12clang/test/SemaTemplate/instantiation-dependence.cpp
+176-96clang/lib/AST/ItaniumMangle.cpp
+76-68clang/lib/AST/Type.cpp
+76-48clang/lib/Sema/SemaTemplate.cpp
+93-16clang/include/clang/AST/ASTContext.h
+1,645-41585 files not shown
+2,469-79091 files

LLVM/project 2b43050clang/lib/AST ExprConstant.cpp, clang/test/SemaCXX constant-expression-cxx14.cpp

[clang][ExprConst] Add another missing `NoteLValueLocation()` call (#195098)

This is a little more work since it requires a new parameter for all the
`found()` handlers.
DeltaFile
+19-10clang/lib/AST/ExprConstant.cpp
+11-6clang/test/SemaCXX/constant-expression-cxx14.cpp
+30-162 files

LLVM/project cb2a64ellvm/include/llvm/SandboxIR Region.h, llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer RegionWithScore.h

Reapply "[SandboxIR][SandboxVec] Remove score tracking from Region, add RegionWithScore" (#195708) (#195752)

This reverts commit 75f884b96dfa082227fb730435c68353cd3376c5.
DeltaFile
+72-51llvm/include/llvm/SandboxIR/Region.h
+20-77llvm/unittests/SandboxIR/RegionTest.cpp
+94-0llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.h
+7-79llvm/lib/SandboxIR/Region.cpp
+84-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/RegionWithScoreTest.cpp
+43-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.cpp
+320-2077 files not shown
+335-21813 files

LLVM/project f846769llvm/lib/IR Constants.cpp, llvm/test/Assembler aggregate-constant-values.ll

[RFC][IR] Support vector splats in `ConstantPointerNull` (#195486)

This PR allows `ConstantPointerNull` to represent both scalar pointer
nulls and fixed or scalable vector splats of pointer nulls. This change
first aligns with the native splat behavior of `ConstantInt` and
`ConstantFP`, and second, makes it easier to eventually change the
semantics of `ConstantPointerNull` to represent a semantic null pointer
instead of a zero value, which is what it represents today.
DeltaFile
+31-31llvm/test/Transforms/RewriteStatepointsForGC/base-vector.ll
+30-30llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+49-4llvm/lib/IR/Constants.cpp
+28-0llvm/unittests/IR/ConstantsTest.cpp
+18-9llvm/test/Transforms/RewriteStatepointsForGC/base-inference.ll
+24-0llvm/test/Assembler/aggregate-constant-values.ll
+180-7463 files not shown
+351-22269 files

LLVM/project 11de06elldb/source/Plugins/ExpressionParser/Clang IRForTarget.cpp

[lldb] Add missing closing brace in IRForTarget (#195761)

Follow-up to 51d52c2a6cdc.
DeltaFile
+1-1lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
+1-11 files

LLVM/project 88ec045compiler-rt/lib/asan asan_errors.cpp

[asan] Add HINT prefix to poison_history_size suggestions (#195733)

Consistency update to prefix poison tracking suggestions with "HINT:"
to match other ASan diagnostic hints.
DeltaFile
+3-2compiler-rt/lib/asan/asan_errors.cpp
+3-21 files

LLVM/project 490fc0eclang/test/AST ast-dump-templates.cpp, llvm/test/CodeGen/RISCV rvp-simd-64.ll atomic-rmw.ll

rebase

Created using spr 1.3.8-beta.1
DeltaFile
+652-9,343clang/test/AST/ast-dump-templates.cpp
+4,652-0llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+2,420-2,120llvm/test/CodeGen/RISCV/atomic-rmw.ll
+2,940-1,458llvm/test/CodeGen/X86/vector-reduce-smin.ll
+2,936-1,457llvm/test/CodeGen/X86/vector-reduce-smax.ll
+2,695-1,364llvm/test/CodeGen/X86/vector-reduce-umax.ll
+16,295-15,7423,568 files not shown
+146,779-87,1743,574 files

LLVM/project 3d96ae7clang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

rebase

Created using spr 1.3.7
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63137 files not shown
+3,028-686143 files

LLVM/project 0a62c54compiler-rt/lib/asan asan_poisoning.cpp asan_errors.cpp

[asan] Only suggest increasing poison_history_size if the buffer is full (#195732)

I unlikely but possible to setup shadow state, e.g unpoison heap red
zone just after partial granule.

If buffer is not full, increasing it will not help.
DeltaFile
+10-8compiler-rt/lib/asan/asan_poisoning.cpp
+6-2compiler-rt/lib/asan/asan_errors.cpp
+1-1compiler-rt/lib/asan/asan_poisoning.h
+17-113 files

LLVM/project dc92452clang/lib/FrontendTool ExecuteCompilerInvocation.cpp

fix clang-format
DeltaFile
+2-1clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
+2-11 files

LLVM/project 1131735compiler-rt/lib/asan asan_errors.cpp

[NFC][asan] Re-use ErrorGeneric::shadow_val (#195684)

It's done to reduce code size, as additional load on reporting is
negligible.

This requires change in ErrorGeneric constructor, to now we skip partial
shadow only if next one has a better value.

Before shadow_val was either `0x[a-f].` or 0.
Now it may be partial granule as well.

However it's NFC as  `0 < shadow_val < ASAN_SHADOW_GRANULARITY` does not
affect reporting outside of `CheckPoisonRecords`.
DeltaFile
+8-18compiler-rt/lib/asan/asan_errors.cpp
+8-181 files

LLVM/project 241f03dclang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

rebase

Created using spr 1.3.7
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63133 files not shown
+3,046-683139 files

LLVM/project 72c2847clang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63132 files not shown
+3,038-674138 files

LLVM/project 3cbe75blibc/src/semaphore/linux named_semaphore.cpp

[libc][semaphore] Zero-initialize rand_bytes to fix GCC warning (#195757)

GCC 15 warns about `rand_bytes` being maybe uninitialized when passed to
`getrandom`. Since `getrandom` writes to it, it doesn't strictly need
initialization, but zero-initializing it satisfies the compiler and
avoids the `-Werror=maybe-uninitialized` error.

Fix for https://github.com/llvm/llvm-project/pull/192278

Assisted by Gemini
DeltaFile
+1-1libc/src/semaphore/linux/named_semaphore.cpp
+1-11 files

LLVM/project 8c6ee8dllvm/lib/IR Constants.cpp, llvm/test/Assembler aggregate-constant-values.ll

[RFC][IR] Support vector splats in `ConstantPointerNull`

This PR allows `ConstantPointerNull` to represent both scalar pointer nulls and
fixed or scalable vector splats of pointer nulls. This change first aligns with
the native splat behavior of `ConstantInt` and `ConstantFP`, and second, makes
it easier to eventually change the semantics of `ConstantPointerNull` to
represent a semantic null pointer instead of a zero value, which is what it
represents today.
DeltaFile
+31-31llvm/test/Transforms/RewriteStatepointsForGC/base-vector.ll
+30-30llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+49-4llvm/lib/IR/Constants.cpp
+28-0llvm/unittests/IR/ConstantsTest.cpp
+18-9llvm/test/Transforms/RewriteStatepointsForGC/base-inference.ll
+24-0llvm/test/Assembler/aggregate-constant-values.ll
+180-7463 files not shown
+351-22269 files

LLVM/project 5d4b5c5clang/lib/FrontendTool ExecuteCompilerInvocation.cpp

fix clang-format
DeltaFile
+2-1clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
+2-11 files

LLVM/project f68a900compiler-rt/test/asan/TestCases handle_noreturn_bug.cpp, compiler-rt/test/asan/TestCases/Linux odr-vtable.cpp activation-options.cpp

[asan] Remove XFAIL from tests that are passing with debug checks

These tests have been passing with COMPILER_RT_DEBUG=ON since 2022 (at
least for x86).

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

Pull Request: https://github.com/llvm/llvm-project/pull/84614
DeltaFile
+0-3compiler-rt/test/asan/TestCases/Linux/odr-vtable.cpp
+0-2compiler-rt/test/asan/TestCases/Linux/activation-options.cpp
+0-2compiler-rt/test/asan/TestCases/Posix/start-deactivated.cpp
+0-2compiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
+0-2compiler-rt/test/asan/TestCases/handle_noreturn_bug.cpp
+0-115 files

LLVM/project 7e20b8bclang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

rebase

Created using spr 1.3.7
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63131 files not shown
+3,020-666137 files

LLVM/project 167f42bclang/test/AST ast-dump-linkage.cpp ast-dump-linkage-internal.cpp, libc/src/semaphore/linux named_semaphore.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+485-0clang/test/AST/ast-dump-linkage.cpp
+477-0clang/test/AST/ast-dump-linkage-internal.cpp
+198-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-live-outs.ll
+195-0libc/src/semaphore/linux/named_semaphore.cpp
+63-63clang/test/AST/ast-dump-decl.cpp
+114-0libc/test/src/semaphore/linux/semaphore_test.cpp
+1,532-63132 files not shown
+3,024-673138 files

LLVM/project bdb9151llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

rebase

Created using spr 1.3.8-beta.1
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+230,288-0llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+95,086-0llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+92,827-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+880,330-42,348109,423 files not shown
+18,213,359-6,036,414109,429 files

LLVM/project 63b0e73libc Maintainers.md

[libc] Add vhscampos as the maintainer for ARM and AArch64 (#195051)
DeltaFile
+4-0libc/Maintainers.md
+4-01 files