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

LLVM/project 42cfcafclang/include/clang/CIR MissingFeatures.h

[CIR][NFC] Remove unused functions in MissingFeatures.h (#197631)

### Summary

This NFC change removes 33 entries from MissingFeatures.h that have no
callers in tree as of <b4f7c93e7d1325f1c1f00b47c10d2923e8259369>

- `switchOp`
- `opUnaryPromotionType`
- `supportVisibility`
- `atomicInitTailPadding`
- `atomicMapTargetSyncScope`
- `atomicScope`
- `bitfields`
- `builtinCallMathErrno`
- `cleanupWithPreservedValues`
- `constEmitterAggILE`
- `dataLayoutTypeIsSized`
- `dataLayoutTypeStoreSize`

    [20 lines not shown]
DeltaFile
+0-35clang/include/clang/CIR/MissingFeatures.h
+0-351 files

LLVM/project 104ce27clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

Merge branch 'main' into users/ilovepi/cd-auto-ptr
DeltaFile
+182-888llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
+205-608llvm/test/CodeGen/PowerPC/spe.ll
+322-0clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+228-0clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+225-0lldb/unittests/Utility/LockedTest.cpp
+173-0lldb/include/lldb/Utility/Locked.h
+1,335-1,49673 files not shown
+2,349-1,80579 files

LLVM/project c24ab4cllvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/lib/Target/PowerPC PPCISelLowering.cpp

Revert "[PowerPC] set libcall lowering for fp setcc ops on SPE boards" (#199140)

Reverts llvm/llvm-project#153238

Breaking premerge buildbots. (It looks like there's an alternative fix
open #199105, but it's still under review.)
DeltaFile
+182-888llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
+205-608llvm/test/CodeGen/PowerPC/spe.ll
+12-40llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
+4-47llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+6-6llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
+0-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+409-1,5911 files not shown
+409-1,5927 files

LLVM/project 84e6d96llvm/lib/DebugInfo/DWARF DWARFDebugLine.cpp DWARFDebugAbbrev.cpp

Revert "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage …"

This reverts commit 9694b198082c9723551357652e390bb09f25f3b7.
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 0f2b8ecllvm/utils/lit/lit cl_arguments.py TestRunner.py, llvm/utils/lit/tests check-filter.py

[lit] Add --check to run only selected RUN lines from a test

`llvm-lit --check=LIST <test>` keeps only the listed RUN directives in
the test and discards the rest. LIST is a comma-separated mix
of 0-indexed integers and ranges (e.g. `--check=0,2,4-6`). The
selection is applied to the parseIntegratedTestScript output.

Run tests via
`llvm-lit --check=0 llvm/utils/lit/tests/Inputs/check-filter/sample.ll`,
`llvm-lit --check=1 llvm/utils/lit/tests/Inputs/check-filter/sample.ll`,
`llvm/utils/lit/lit.py llvm/utils/lit/tests/check-filter.py`.
DeltaFile
+36-0llvm/utils/lit/lit/cl_arguments.py
+23-0llvm/utils/lit/tests/check-filter.py
+18-0llvm/utils/lit/lit/TestRunner.py
+7-0llvm/utils/lit/tests/Inputs/check-filter/lit.cfg
+4-0llvm/utils/lit/tests/Inputs/check-filter/sample.ll
+2-0llvm/utils/lit/lit/LitConfig.py
+90-01 files not shown
+91-07 files

LLVM/project a800c33llvm/include/llvm/IR User.h Use.h

IR: Move `simplify_type<(const) Use *>` to Use.h and fix a bug.

These overloads live in User.h because the type of
`User::(const_)op_iterator` is `(const) Use *`, but they do not
necessarily need to be used together with `User`, so let's move them to
Use.h with the canonical type used in the overload for clarity.

There's also a bug where `dyn_cast_or_null` with a `Use *` argument
crashes if the argument is null. Fix it by adding a null check to
these overloads. The null check is expected to be optimized out of the
implementation of `isa`/`cast`/`dyn_cast` because these functions will
unconditionally load from the result of `getSimplifiedValue`.

Reviewers: nikic, efriedma-quic

Pull Request: https://github.com/llvm/llvm-project/pull/198917
DeltaFile
+0-15llvm/include/llvm/IR/User.h
+15-0llvm/include/llvm/IR/Use.h
+15-152 files

LLVM/project d4179f6mlir/include/mlir/Dialect/Polygeist/IR PolygeistOps.td, mlir/lib/Dialect/Polygeist/IR PolygeistOps.cpp CMakeLists.txt

[MLIR] Initial upstream of polygeist dialect
DeltaFile
+379-0mlir/lib/Dialect/Polygeist/IR/PolygeistOps.cpp
+226-0mlir/test/Dialect/Polygeist/canonicalize-pointer2memref.mlir
+66-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+40-0mlir/include/mlir/Dialect/Polygeist/IR/PolygeistOps.td
+24-0mlir/test/Dialect/Polygeist/canonicalize-memref2pointer.mlir
+19-0mlir/lib/Dialect/Polygeist/IR/CMakeLists.txt
+754-010 files not shown
+811-016 files

LLVM/project b34d81emlir/include/mlir/Dialect/Polygeist/IR PolygeistOps.td, mlir/lib/Dialect/Polygeist/IR PolygeistOps.cpp CMakeLists.txt

[MLIR] Initial upstream of polygeist dialect
DeltaFile
+379-0mlir/lib/Dialect/Polygeist/IR/PolygeistOps.cpp
+226-0mlir/test/Dialect/Polygeist/canonicalize-pointer2memref.mlir
+66-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+40-0mlir/include/mlir/Dialect/Polygeist/IR/PolygeistOps.td
+24-0mlir/test/Dialect/Polygeist/canonicalize-memref2pointer.mlir
+19-0mlir/lib/Dialect/Polygeist/IR/CMakeLists.txt
+754-09 files not shown
+808-015 files