LLVM/project 5ee840coffload/plugins-nextgen/level_zero/include L0Device.h L0Interop.h, offload/plugins-nextgen/level_zero/src L0Device.cpp L0Kernel.cpp

[OFFLOAD][L0] Remove support for non-immediate command lists (#198894)

The code was in a dead path as immediate command lists are always used.
DeltaFile
+36-261offload/plugins-nextgen/level_zero/src/L0Device.cpp
+1-90offload/plugins-nextgen/level_zero/include/L0Device.h
+3-59offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
+9-39offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
+0-3offload/plugins-nextgen/level_zero/include/L0Interop.h
+49-4525 files

LLVM/project 7447887lldb/include/lldb/Utility Locked.h, lldb/source/Target Target.cpp

Merge branch 'main' into users/meinersbur/flang_builtin-mods_3
DeltaFile
+182-888llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
+205-608llvm/test/CodeGen/PowerPC/spe.ll
+430-0llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
+225-0lldb/unittests/Utility/LockedTest.cpp
+173-0lldb/include/lldb/Utility/Locked.h
+44-43lldb/source/Target/Target.cpp
+1,259-1,539259 files not shown
+2,590-2,824265 files

LLVM/project c20020elibc/include search.yaml math.yaml, libc/utils/hdrgen/hdrgen header.py yaml_to_classes.py

[libc] Enforce standard identifier validation in hdrgen (#198971)

Implemented validation for standard identifiers in the hdrgen tool to
catch typos and unknown standards. Aggregated standards from all entity
types (macros, types, etc.) for validation, addressing a TODO in
header.py.

Added llvm_libc_ext, stdc_ext, and llvm_libc_stdfix_ext to the canonical
identifiers. Standardised invalid or inconsistently formatted standards
in several YAML files.

This enforces the correctness of any provided standards field but does
not yet require that every entity has one (many entities still inherit
standards from the header level).

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+29-6libc/utils/hdrgen/hdrgen/header.py
+15-14libc/utils/hdrgen/hdrgen/yaml_to_classes.py
+10-5libc/include/search.yaml
+6-4libc/include/math.yaml
+2-1libc/include/stdfix.yaml
+2-1libc/include/pthread.yaml
+64-314 files not shown
+70-3310 files

LLVM/project 7d65f8ellvm/lib/Target/X86 X86TargetTransformInfo.cpp, llvm/test/Transforms/LoopVectorize/X86/CostModel interleaved-store-i64-stride-7.ll interleaved-store-f64-stride-7.ll

[CostModel][X86] Make avx512 inlane 2src shuffles cheaper that crosslane 2src shuffles (#199074)

256/512 variable mask shuffles are not going to sustain tp = 1 on all
avx512 targets - unlike immediate mask inlane shuffles

1src shuffles aren't much better, but there's additional special cases
that need handling for these

Noticed while triaging failed vectorcombine reduction folds due to weird
costs
DeltaFile
+22-35llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
+1-41llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
+1-41llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
+29-12llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+22-17llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
+1-36llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
+76-18275 files not shown
+440-75381 files

LLVM/project 9353d0dclang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefCallArgsChecker.cpp, clang/test/Analysis/Checkers/WebKit call-args.cpp uncounted-obj-arg.cpp

[alpha.webkit.UncountedCallArgsChecker] Check CXXOperatorCallExpr's this argument (#198688)

This PR fixes the bug that we were not checking "this" parameter of
CXXOperatorCallExpr.
DeltaFile
+13-1clang/test/Analysis/Checkers/WebKit/call-args.cpp
+8-0clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
+4-4clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
+25-53 files

LLVM/project e90ae13clang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefLambdaCapturesChecker.cpp, clang/test/Analysis/Checkers/WebKit uncounted-lambda-captures.cpp

[webkit.UncountedLambdaCapturesChecker] Check lambdas in constructors and destructors (#198709)

This PR fixes the bug that lambda captures checkers don't check for
"this" pointer captured in a lambda inside C++ constructors and
destructors.
DeltaFile
+22-0clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
+12-0clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
+34-02 files

LLVM/project 72be00bclang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefLambdaCapturesChecker.cpp, clang/test/Analysis/Checkers/WebKit uncounted-lambda-captures.cpp

[webkit.UncountedLambdaCapturesChecker] Check every lambdas passed to makeVisitor (#198713)

This PR fixes the bug in UncountedLambdaCapturesChecker that we were
failing to check variable captures of a non-first lambdas passed to
WTF::makeVisitor. To support this, we store a SmallVector of
LambdaExpr's instead of a single LambdaExpr in LambdaOwnerMap.
DeltaFile
+30-19clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
+12-0clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
+42-192 files

LLVM/project 6d155b3clang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefLocalVarsChecker.cpp, clang/test/Analysis/Checkers/WebKit uncounted-local-vars.cpp mock-types.h

[alpha.webkit.UncountedLocalVarsChecker] Some forms of mutating a guardian variable is ignored (#198950)

This PR fixes a bug in UncountedLocalVarsChecker that it was allowing
mutations to guardian variables within the same scope of a guarded raw
pointer/reference. Since mutating a guardian can affect the lifetime of
a guarded object, we must not consider it as a guardian variable for the
scope.

VisitCXXConstructExpr was just looking for smart pointer's move
constructor but any constructor which takes a guardian smart pointer
using a non-const function argument is problematic so detect all those
cases. Also add VisitCallExpr to detect all forms of function calls to
which a guardian variable is passed via a non-const argument. For
VisitCXXMemberCallExpr, we consider calling any non-const member
function on a guardian variable to be dangerous except conversion
operators (e.g. operator T()).
DeltaFile
+47-23clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
+42-0clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
+16-0clang/test/Analysis/Checkers/WebKit/mock-types.h
+105-233 files

LLVM/project 7e8de3bllvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 arm64-mul.ll

[AArch64] Combine A + zext(B) * C -> A - zext(B) * -C (#198488)

This converts `A + zext(B) * C` -> `A - zext(B) * -C` if C can be
negated in order to use umsubl.
DeltaFile
+51-26llvm/test/CodeGen/AArch64/arm64-mul.ll
+30-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+81-262 files

LLVM/project 4210f1alibcxx/include functional

[libc++][NFC] Remove incorrect TODO about deprecating mem_fn (#199172)
DeltaFile
+1-1libcxx/include/functional
+1-11 files

LLVM/project 2f00baeclang/docs LanguageExtensions.rst, clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[AMDGPU][Clang] add __builtin_amdgcn_av_(load|store)_b128

These builtins allow the program to request store-available and load-visible
accesses as described in #191246. Each of them takes a __MEMORY_SCOPE_* operand
that is then translated to target-specific cache policy bits.

This patch was extracted from #172090.

Co-authored-by: macurtis-amd <macurtis at amd.com>
Assisted-by: Claude Opus 4.6z
DeltaFile
+250-0clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
+28-0clang/docs/LanguageExtensions.rst
+26-0clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-target-error.cl
+22-0clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-error.cl
+16-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+12-0clang/lib/Sema/SemaAMDGPU.cpp
+354-02 files not shown
+362-08 files

LLVM/project ad5404eclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaAMDGPU.cpp

[AMDGPU][Clang] refactor addrspace and scope checks [NFC]

Assisted-By: Claude Opus 4.6
DeltaFile
+29-25clang/lib/Sema/SemaAMDGPU.cpp
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
+31-273 files

LLVM/project e0458e1clang/lib/Driver/ToolChains MSVC.cpp, clang/test/Driver msvc-link.c

Revert "[Driver][MSVC] Use LLD if DWARF is requested (#198600)"

This reverts commit cdc2749dffafaa1d43815d58303cc08516732f60.
DeltaFile
+4-18clang/lib/Driver/ToolChains/MSVC.cpp
+0-18clang/test/Driver/msvc-link.c
+4-362 files

LLVM/project 85d14e9clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaAMDGPU.cpp

[AMDGPU][Clang] refactor addrspace and scope checks [NFC]

Assisted-By: Claude Opus 4.6
DeltaFile
+28-25clang/lib/Sema/SemaAMDGPU.cpp
+1-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-cooperative-atomics.cl
+30-273 files

LLVM/project 836fcaallvm/tools/llvm-profgen PerfReader.cpp

[llvm-profgen] Speed up parsing of MMap events (#197871)

During the mmap extraction, `extractMMapEventForBinary()` is invoked
line by line to parse the perf script(usually 100K to 1M+ lines). This
patch tries to early quit when the current line does not contain the
Binary name, and this will help to avoid subsequent parsing
overhead(baseline behavior uses regex to extract the name, returning
false if it doesn't match the current binary).

With this minor change, the execution time of
extractMMapEventForBinary() dropped from 13,600ms to 32ms(-99%) in an
internal workload test(827K lines).
DeltaFile
+3-0llvm/tools/llvm-profgen/PerfReader.cpp
+3-01 files

LLVM/project 0108952llvm/test/CodeGen/AMDGPU wait-xcnt-drain.mir

[AMDGPU] Pre-commit test for redundant s_wait_xcnt after implicit XCN… (#198772)

…T drain

Demonstrates that `SIInsertWaitcnts` currently emits `s_wait_xcnt 0x0`
after instructions that already drain XCNT in hardware on gfx1250:
`s_barrier_wait`, `s_barrier_signal`, `s_barrier_signal_isfirst`,
`s_sendmsg`, PC-changing terminators etc.
DeltaFile
+430-0llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
+430-01 files

LLVM/project 17659bcclang/lib/Parse ParseExprCXX.cpp

fix ci
DeltaFile
+1-1clang/lib/Parse/ParseExprCXX.cpp
+1-11 files

LLVM/project 89c0b90clang/lib/Parse ParseExprCXX.cpp

Update clang/lib/Parse/ParseExprCXX.cpp

Co-authored-by: Timm Baeder <tbaeder at redhat.com>
DeltaFile
+1-1clang/lib/Parse/ParseExprCXX.cpp
+1-11 files

LLVM/project 50744eallvm/test/CodeGen/PowerPC toc-data.ll lower-globaladdr64-aix.ll

[NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests (#199159)

A later PR will propose updating the default code model, so this PR sets
an explicit code model on tests that don't have it. This is strictly
NFC, as we are just setting the existing code model.
DeltaFile
+6-6llvm/test/CodeGen/PowerPC/toc-data.ll
+4-4llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
+4-4llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
+3-3llvm/test/CodeGen/PowerPC/memset-tail.ll
+3-3llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
+3-3llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
+23-2393 files not shown
+147-14799 files

LLVM/project 0e9af25.github/workflows libc-freebsd-vm-tests.yml

[libc][freebsd] skip exhaustive math tests in FreeBSD CI (#199143)

Remove expensive tests to mitigate the long running time.
DeltaFile
+1-3.github/workflows/libc-freebsd-vm-tests.yml
+1-31 files

LLVM/project 8302227clang/include/clang/Basic DiagnosticParseKinds.td, clang/lib/Parse ParseExprCXX.cpp ParseStmt.cpp

add support for `static_assert-decl` and `attribute-specifier-sequence` with respective warnings
DeltaFile
+31-1clang/lib/Parse/ParseExprCXX.cpp
+14-0clang/test/C/C2y/n3267.c
+2-1clang/lib/Parse/ParseStmt.cpp
+3-0clang/include/clang/Basic/DiagnosticParseKinds.td
+50-24 files

LLVM/project 6b1f976clang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver frame-pointer-elim.c

[Mips] Omit the frame pointer when optimizations are enabled (#198737)

Enable frame pointer optimization to match GCC behavior

Fix #48326.
DeltaFile
+6-0clang/test/Driver/frame-pointer-elim.c
+4-0clang/lib/Driver/ToolChains/CommonArgs.cpp
+10-02 files

LLVM/project eea711cllvm/test/CodeGen/PowerPC toc-data.ll aix-small-local-dynamic-tls-types.ll

[NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests

A later PR will propose updating the default code model, so
this PR sets an explicit code model on tests that don't have it.
DeltaFile
+6-6llvm/test/CodeGen/PowerPC/toc-data.ll
+4-4llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
+4-4llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
+3-3llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
+3-3llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
+3-3llvm/test/CodeGen/PowerPC/memset-tail.ll
+23-2393 files not shown
+147-14799 files

LLVM/project c9597ballvm/docs AMDGPUMemoryModel.rst

*system scope* is a single term
DeltaFile
+3-3llvm/docs/AMDGPUMemoryModel.rst
+3-31 files

LLVM/project dc6c7eellvm/include/llvm/Transforms/Coroutines SuspendCrossingInfo.h, llvm/lib/Transforms/Coroutines SuspendCrossingInfo.cpp

[CoroSplit] Rename Suspend/End to AlwaysKill/NeverKill (NFC) (#199150)

Rename them so that we can generalize to more intrinsics, for example,
`llvm.coro.is_in_ramp` in #198226
DeltaFile
+5-13llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
+4-4llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
+9-172 files

LLVM/project b0c804allvm/docs AMDGPUMemoryModel.rst

use backticks for variable; fix scopes; double down on "system" as a name
DeltaFile
+111-106llvm/docs/AMDGPUMemoryModel.rst
+111-1061 files

LLVM/project 0784399clang/lib/CIR/CodeGen CIRGenModule.cpp, clang/lib/CIR/CodeGen/Targets SPIRV.cpp

[CIR][SPIR-V] Add initial SPIR-V target CodeGen support (#196920)
DeltaFile
+58-0clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
+43-0clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
+27-0clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
+5-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+4-0clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
+2-0clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
+139-03 files not shown
+143-09 files

LLVM/project 25f9028llvm/lib/DebugInfo/DWARF DWARFDebugLine.cpp DWARFDebugAbbrev.cpp

Revert "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage" (#199145)

Reverts llvm/llvm-project#198935

I think this broke llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml .
DeltaFile
+0-3llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
+0-1llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
+0-1llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
+0-53 files

LLVM/project 625e277mlir/lib/IR Builders.cpp, mlir/unittests/IR AttributeTest.cpp

[mlir] Specify isSigned when creating APInt for I16 attributes (#198687)

8- and 32-bit attribute constructors already do this. Debug builds
trigger an assertion unless isSigned is specified.
DeltaFile
+14-0mlir/unittests/IR/AttributeTest.cpp
+2-1mlir/lib/IR/Builders.cpp
+16-12 files

LLVM/project dac33e3clang-tools-extra/clang-doc Serialize.cpp

[clang-doc][nfc] Declare pointer with auto explicitly (#198069)

This silences some errors from clang-tidy.
DeltaFile
+1-1clang-tools-extra/clang-doc/Serialize.cpp
+1-11 files