LLVM/project 983b202clang-tools-extra/test/clang-tidy/checkers/android cloexec-memfd-create.cpp cloexec-accept4.cpp, clang-tools-extra/test/clang-tidy/checkers/bugprone spuriously-wake-up-functions.c posix-return.cpp

[clang-tidy][NFC] Use mock header instead of #define NULL in tests (#188420)

Since stddef.h in the mock headers of clang-tidy tests now provides
`#define NULL 0L`, we can migrate manual `#define NULL` in these tests
to standard `#include`s.
DeltaFile
+3-4clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
+2-1clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.cpp
+2-1clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
+2-1clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
+2-1clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
+2-1clang-tools-extra/test/clang-tidy/checkers/android/cloexec-accept4.cpp
+13-912 files not shown
+25-2118 files

LLVM/project 048238blibcxx/include __hash_table

Format

Created using spr 1.3.6-beta.1
DeltaFile
+6-2libcxx/include/__hash_table
+6-21 files

LLVM/project b95b902lldb/include/lldb/Target Process.h, lldb/source/Target Process.cpp ProcessTrace.cpp

[LLDB] Use shared_ptr for m_current_private_state_thread (#188542)

Avoids manual memory management.

Uses `shared_ptr` instead of `unique_ptr` because we store references to
the current thread in a backup variable.

Simplifies the private thread `is_secondary` semantics by providing a
backup storage for the current thread instead of a boolean value with a
contract to manage the backup separately.
DeltaFile
+47-52lldb/include/lldb/Target/Process.h
+43-46lldb/source/Target/Process.cpp
+1-1lldb/source/Target/ProcessTrace.cpp
+91-993 files

LLVM/project bf1287blibcxx/include __hash_table, libcxx/test/extensions/gnu/hash_map copy.pass.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+8-4libcxx/include/__hash_table
+4-0libcxx/test/extensions/gnu/hash_map/copy.pass.cpp
+12-42 files

LLVM/project 620d322llvm/test/CodeGen/AMDGPU memintrinsic-unroll.ll, llvm/test/CodeGen/X86 vector-interleaved-load-i64-stride-7.ll vector-interleaved-store-i64-stride-7.ll

Merge remote-tracking branch 'origin' into users/ziqingluo/eng/PR-171920065
DeltaFile
+6,835-6,798llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+6,432-6,562llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
+4,982-4,991llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
+4,590-4,623llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
+4,364-4,820llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
+3,814-3,848llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
+31,017-31,6424,731 files not shown
+248,747-112,5604,737 files

LLVM/project 2beba0ellvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.h

Add a comment

Change-Id: I447f7f1fb185b18924cfd98249b5a0a05fef2484
DeltaFile
+7-0llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
+7-01 files

LLVM/project bdbe816lldb/test/API/functionalities/scripted_frame_provider/circular_dependency TestFrameProviderCircularDependency.py, lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix TestFrameProviderPassThroughPrefix.py

[lldb/test] Remove stale Windows expectedFailure decorators (NFC)

The @expectedFailureAll decorators for Windows (llvm.org/pr24778) are no
longer needed on test_circular_dependency_handle_command_in_init and
test_provider_receives_parent_frames.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+0-1lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py
+0-1lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
+0-22 files

LLVM/project 47e4282libunwind/test floatregister.pass.cpp aarch64_za_unwind.pass.cpp, libunwind/test/support func_bounds.h

[libunwind][Apple] Improve test coverage on Apple platforms (#186423)

Introduces a macro abstraction around capturing the bounds of a
function, which many platforms handle subtly differently (Mach-O, and
ELF, for example).

Also introduce an arm64[^-]* -> aarch64 available feature, to enable
more tests that would otherwise be excluded on Apple platforms, whose
target triples tend to take the form e.g. 'arm64-apple-macosx', rather
than 'aarch64-apple-macosx'.

Third, we implement the has-sme check using the appropriate sysctl, as
getauxval is not available on Darwin platforms.
DeltaFile
+40-0libunwind/test/support/func_bounds.h
+8-9libunwind/test/floatregister.pass.cpp
+14-1libunwind/test/aarch64_za_unwind.pass.cpp
+5-10libunwind/test/unwind_leaffunction.pass.cpp
+5-10libunwind/test/signal_unwind.pass.cpp
+5-10libunwind/test/forceunwind.pass.cpp
+77-402 files not shown
+89-408 files

LLVM/project bc987f9mlir/test/CAPI smt.c

[mlir][CAPI] Fix unused-but-set-variable warning in smt.c (NFC) (#188473)

llvm-project/mlir/test/CAPI/smt.c:37:21: warning: variable 'result' set
but not used [-Wunused-but-set-variable]
   37 |   MlirLogicalResult result = mlirTranslateModuleToSMTLIB(
      |                     ^
1 warning generated.
DeltaFile
+1-0mlir/test/CAPI/smt.c
+1-01 files

LLVM/project dfee017llvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp AMDGPUCoExecSchedStrategy.h, llvm/test/CodeGen/AMDGPU coexec-sched-effective-stall.mir

[AMDGPU] Add MemoryPipeline scheduling to Coexec sched

Change-Id: I52c476834155823d1ba998cdbbcb3ad6a7e6f2f5
DeltaFile
+323-0llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir
+77-23llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+18-0llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
+418-233 files

LLVM/project cd394f7clang/include/clang/ScalableStaticAnalysisFramework/Analyses PointerAssignments.h, clang/lib/Analysis UnsafeBufferUsage.cpp

[SSAF][PointerAssignments] Add PointerAssignments summary and extractor

Implement PointerAssignments summary and extractor, which uses
EntityPointerLevel. An assignment is extracted as a pair of
EntityPointerLevels. Extracted assignments form a directed graph
encoding abstracted pointer flow information.

rdar://172429193
DeltaFile
+1,150-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerAssignmentsTest.cpp
+383-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerAssignments/PointerAssignmentsExtractor.cpp
+105-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerAssignments/PointerAssignments.cpp
+64-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerAssignments.h
+40-0clang/test/Analysis/Scalable/UnsafeBufferUsage/tu-summary.json
+17-7clang/lib/Analysis/UnsafeBufferUsage.cpp
+1,759-77 files not shown
+1,808-2513 files

LLVM/project bc88773llvm/include/llvm/Analysis IncrementalUpdateProfileAnalysis.h, llvm/include/llvm/Transforms/Scalar JumpThreading.h

verify incremental prof updates
DeltaFile
+48-114llvm/lib/Transforms/Scalar/JumpThreading.cpp
+68-0llvm/lib/Analysis/IncrementalUpdateProfileAnalysis.cpp
+64-0llvm/include/llvm/Analysis/IncrementalUpdateProfileAnalysis.h
+20-16llvm/test/Transforms/JumpThreading/select.ll
+3-26llvm/include/llvm/Transforms/Scalar/JumpThreading.h
+3-6llvm/test/Transforms/JumpThreading/static-profile.ll
+206-16223 files not shown
+241-19229 files

LLVM/project 5e83028clang/include/clang/ScalableStaticAnalysisFramework/Analyses UnsafeBufferUsage.h, clang/lib/Analysis UnsafeBufferUsage.cpp

[SSAF][UnsafeBufferUsage] Implement AST visitor that respects the constribution model and refactor

Previously, the UnsafeBufferUsage Extractor relied on the
`-Wunsafe-buffer-usage` API to traverse ASTs. The traversal did not
fully respect the contribution model of SSAF---RecordDecls inside
functions were not treated as contributors. Their fields were counted
as contributions of the enclosing function.

This commit adds an AST visitor that respects the contribution model
and will be shared by SSAF analyses.  The UnsafeBufferUsage Extractor
still relies on `-Wunsafe-buffer-usage` to provide the unsafe pointer
matching function.

In addition, this commit
- Factors common code in analyses to 'lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h'.
- Registers the UnsafeBufferUsage extractor.
- Removes 'UnsafeBufferUsageExtractor.h' since it is useless except
  for the unit test. The unit test now directly uses proxy functions
  defined in 'UnsafeBufferUsageExtractor.cpp'.
DeltaFile
+723-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsageTest.cpp
+0-702clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+119-134clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+146-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+60-57clang/lib/Analysis/UnsafeBufferUsage.cpp
+61-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage.h
+1,109-8938 files not shown
+1,128-1,04614 files

LLVM/project ff4d49bclang/test/CodeGenOpenCL builtins-amdgcn-gfx1250-wmma-w32.cl, llvm/lib/IR AutoUpgrade.cpp

[AMDGPU] Disable neg_lo[0:1] and neg_hi[0:1] on wmma_f32_16x16x32_bf16

This is the pilot change, the rest will follow the same idea.
DeltaFile
+46-46clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
+53-31llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+51-9llvm/lib/IR/AutoUpgrade.cpp
+30-30llvm/test/CodeGen/AMDGPU/wmma-nop-hoisting.mir
+4-52llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
+20-20llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
+204-18813 files not shown
+268-21519 files

LLVM/project daf7fe2clang/include/clang/Analysis/Analyses UnsafeBufferUsage.h, clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.h

[ssaf][UnsafeBufferUsage] Add support for extracting unsafe pointers from all kinds of contributors (#184899)

- Generalize the `-Wunsafe-buffer-usage` API for finding unsafe pointers
in all kinds of `Decl`s
- Add support in SSAF-based UnsafeBufferUsage analysis for extracting
from various contributors
- Mock implementation of HandleTranslationUnit

rdar://171735836

This is a follow-up PR to
https://github.com/llvm/llvm-project/pull/182941
DeltaFile
+138-4clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+113-25clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+44-17clang/lib/Analysis/UnsafeBufferUsage.cpp
+8-1clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
+2-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.h
+305-475 files

LLVM/project 0dd85a0clang/include/clang/ScalableStaticAnalysisFramework/Analyses PointerAssignments.h, clang/lib/Analysis UnsafeBufferUsage.cpp

[SSAF][PointerAssignments] Add PointerAssignments summary and extractor

Implement PointerAssignments summary and extractor, which uses
EntityPointerLevel. An assignment is extracted as a pair of
EntityPointerLevels. Extracted assignments form a directed graph
encoding abstracted pointer flow information.

rdar://172429193
DeltaFile
+1,150-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerAssignmentsTest.cpp
+383-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerAssignments/PointerAssignmentsExtractor.cpp
+105-0clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerAssignments/PointerAssignments.cpp
+64-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerAssignments.h
+40-0clang/test/Analysis/Scalable/UnsafeBufferUsage/tu-summary.json
+17-7clang/lib/Analysis/UnsafeBufferUsage.cpp
+1,759-77 files not shown
+1,808-2513 files

LLVM/project 11cbd37flang/docs/MeetingNotes/2026 2026-03-25.md

[flang] Adding Flang Community Call Meeting Notes for 3/25/2026 (#188597)
DeltaFile
+106-0flang/docs/MeetingNotes/2026/2026-03-25.md
+106-01 files

LLVM/project d7a39ccllvm/utils git-llvm-push git-llvm-push.md

[Utils] Add ability to configure git-llvm-push from .gitconfig (#187398)

This lets someone set git config options at whatever scope (per-repo,
global, etc.) for the options that they care about. This provides
similar functionality to just wrapping the script in a shell script with
one's desired options without the need to do that.

We need to be careful about how when we get the flags and how to execute
the git command to get the flags. For now, we do this before normal
argument parsing and fail silently to avoid printing output if someone
passes something like --quiet through the git config. This means options
like --verbose and --dry-run don't work for this specific command, but I
think that is a reasonable tradeoff.
DeltaFile
+25-1llvm/utils/git-llvm-push
+16-0llvm/utils/git-llvm-push.md
+41-12 files

LLVM/project b7d8831llvm/utils/lit/lit run.py

[lit] dealloc ApplyResult objects as they're waited on (#188642)

In _wait_for(), all async tasks are waited for. However, the objects
are held in the async_result list until the function calls complete.
This leads to about 3.6gig mem usage on my system when running
check-llvm, even though these objects aren't needed after the ar.get()
call.

Dealloc them as we go instead.

Addresses #188641
DeltaFile
+4-1llvm/utils/lit/lit/run.py
+4-11 files

LLVM/project b6ef20ellvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn] port 0eb8f018a1c8
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project e1cd558lldb/include/lldb/Target Thread.h, lldb/source/Target Thread.cpp

[lldb] Fix circular dependency and deadlock in scripted frame providers (#187411)

When a scripted frame provider calls back into the thread's frame
machinery (e.g. via HandleCommand or EvaluateExpression), two problems
arise:

1. GetStackFrameList() re-enters the SyntheticStackFrameList
 construction, causing infinite recursion.
2. ClearStackFrames() tries to read-lock the StackFrameList's
 shared_mutex that is already write-locked by GetFramesUpTo,
 causing a deadlock.

This patch fixes those issues by tracking when a provider is actively
fetching frames via a per-host-thread map (m_provider_frames_by_thread)
keyed by HostThread. The map is pushed/popped in
SyntheticStackFrameList::FetchFramesUpTo before calling into the
provider. GetStackFrameList() checks it to route re-entrant calls:

- The provider's own host thread gets the parent frame list, preventing

    [14 lines not shown]
DeltaFile
+138-0lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/TestFrameProviderPassThroughPrefix.py
+101-9lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
+109-0lldb/test/API/functionalities/scripted_frame_provider/pass_through_prefix/frame_provider.py
+74-0lldb/source/Target/Thread.cpp
+60-0lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/frame_provider.py
+24-0lldb/include/lldb/Target/Thread.h
+506-97 files not shown
+589-1013 files

LLVM/project b580bedllvm/lib/Transforms/Instrumentation HWAddressSanitizer.cpp

[NFC] [HWASan] do not place `STATISTIC` in the middle of the opts (#188634)
DeltaFile
+4-4llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+4-41 files

LLVM/project 05dc519llvm/include/llvm/IR Instruction.h

[IR] Make succ_iterator compliant with C++20 (#188601)

GCC 15.2 enforces the `DefaultConstructible` requirement for
`std::reverse_iterator<llvm::succ_iterator>` causing LLVM to fail to
build with C++20 (see https://discourse.llvm.org/t/suspicious-usages-of-std-reverse-iterator-and-associated-llvm-build-failures-with-gcc-15-2-1/89426, issue #182417).

```
$ cmake -G Ninja -S llvm -B llvm/build \
    -DCMAKE_INSTALL_PREFIX=$(mktemp -d) \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_C_COMPILER=gcc \
    -DCMAKE_CXX_COMPILER=g++ \
    -DLLVM_ENABLE_PROJECTS="clang;" \
    -DLLVM_ENABLE_ASSERTIONS=ON \
    -DLLVM_USE_LINKER=lld \
    -DCMAKE_CXX_STANDARD=20 \
    -DLLVM_OPTIMIZED_TABLEGEN=ON \
    -DLLVM_PARALLEL_LINK_JOBS=4


    [10 lines not shown]
DeltaFile
+2-0llvm/include/llvm/IR/Instruction.h
+2-01 files

LLVM/project 180ae2flibclc/clc/lib/generic/async clc_prefetch.inc

libclc: Use prefetch builtin to implement default prefetch (#188491)
DeltaFile
+1-1libclc/clc/lib/generic/async/clc_prefetch.inc
+1-11 files

LLVM/project fce6d53libclc/clc/lib/generic/math clc_ep.inc

libclc: Fix directly adding vector booleans (#188540)

Vector compares return -1 instead of 1, so explicitly select a 0 or 1
instead of directly adding the result.
DeltaFile
+5-5libclc/clc/lib/generic/math/clc_ep.inc
+5-51 files

LLVM/project e46a329libclc/clc/lib/amdgpu/subgroup clc_sub_group_broadcast.cl

libclc: Fix amdgpu sub_group_broadcast for double (#188594)
DeltaFile
+2-2libclc/clc/lib/amdgpu/subgroup/clc_sub_group_broadcast.cl
+2-21 files

LLVM/project f3274a4libcxx/include typeinfo, libcxx/include/__configuration attributes.h

Prepare libcxx and libcxxabi for pointer field protection.

Pointer field protection has the following characteristics:

- Pointer fields in RTTI types are unsigned. Signing these fields
  is unnecessary because PFP is a mechanism for protecting the heap,
  and the RTTI objects typically live in global variables. Therefore,
  mark the fields with the no_field_protection to inhibit PFP for these
  fields.

- libcxx's interim trivial relocatability implementation, which memcpy's
  some non-trivially-copyable objects according to the value of a trait,
  conflicts with PFP in tagged mode (in which the address of the pointer
  is used as part of the pointer encoding) by causing such copies to
  result in a crash in some cases where the object being copied includes
  a pointer field. These copies are undefined behavior. Therefore, make
  libcxx's trivially relocatable predicate simply return the value of
  the trivially copyable trait when PFP in tagged mode is enabled, which
  results in standards compliant behavior that is accommodated by PFP.

    [3 lines not shown]
DeltaFile
+6-0libcxx/include/__configuration/attributes.h
+6-0libcxxabi/include/__cxxabi_config.h
+3-3libcxxabi/src/private_typeinfo.h
+4-0libcxx/include/__type_traits/is_trivially_relocatable.h
+1-1libcxx/include/typeinfo
+20-45 files

LLVM/project d6957d2llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 sbb-add-constant.ll select_const.ll

[X86] fuse constant addition after sbb (#184541)

Resolves: https://github.com/llvm/llvm-project/issues/171676
Related: https://github.com/llvm/llvm-project/pull/185117 (AArch64 side)

The issue points out that `Fold ADD(ADC(Y,0,W),X) -> ADC(X,Y,W)` is
optimized and that SBB can be optimized similarly:
`Fold ADD(SBB(Y,0,W),C) -> SBB(Y,-C,W)`. 

With the changes from this branch, a new clang will compile the example
code:

```c
#include <stdint.h>

uint64_t f(uint64_t a, uint64_t b) {
    uint64_t x;
    x += __builtin_add_overflow(a, b, &x);
    return x + 10;

    [23 lines not shown]
DeltaFile
+191-0llvm/test/CodeGen/X86/sbb-add-constant.ll
+60-129llvm/test/CodeGen/X86/apx/sbb.ll
+17-0llvm/lib/Target/X86/X86ISelLowering.cpp
+4-4llvm/test/CodeGen/X86/apx/long-instruction-fixup.ll
+2-2llvm/test/CodeGen/X86/select_const.ll
+274-1355 files

LLVM/project 5accbb8llvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp, llvm/test/CodeGen/AMDGPU coexec-scheduler.ll

Merge conflict

Change-Id: I24f471688f9d0604b45e95a4fa4da85fb0d9ed76
DeltaFile
+23-22llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
+27-4llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+50-262 files

LLVM/project 7b6d437llvm/lib/Transforms/Instrumentation HWAddressSanitizer.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+4-4llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+4-41 files