LLVM/project 66276d9flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp

[flang] Fix unused variable (NFC) (#195994)
DeltaFile
+1-1flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+1-11 files

LLVM/project 4f8d785clang/test/CodeGen/AArch64 lit.local.cfg neon-intrinsics.c, clang/test/CodeGen/AArch64/neon bf16-getset.c fullfp16.c

[clang][test] Add `%clang_cc1_cg_arm64_neon` substitution (#188547)

Add a LIT substitution `%clang_cc1_cg_arm64_neon` expanding to:
```python
  clang -cc1 -internal-isystem <path> \
    -triple arm64-none-linux-gnu \
    -target-feature +neon -o -
```
This invocation is repeated across multiple tests. Introducing a
substitution reduces duplication, shortens RUN lines, and ensures
consistency across `clang -cc1` invocations.

Shorter RUN lines also make test-specific flags easier to spot.
DeltaFile
+13-0clang/test/CodeGen/AArch64/lit.local.cfg
+3-3clang/test/CodeGen/AArch64/neon/bf16-getset.c
+3-3clang/test/CodeGen/AArch64/neon/fullfp16.c
+3-3clang/test/CodeGen/AArch64/neon/intrinsics.c
+1-5clang/test/CodeGen/AArch64/neon-intrinsics.c
+1-1clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
+24-156 files

LLVM/project 22f70cbllvm/utils/gn/build sync_dir.py sync_source_dir.py, llvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn] Rename sync_source_dir.py to just sync_dir.py (#196059)

No behavior change.
DeltaFile
+59-0llvm/utils/gn/build/sync_dir.py
+0-59llvm/utils/gn/build/sync_source_dir.py
+1-1llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+60-603 files

LLVM/project 9d9f1eemlir/lib/Dialect/GPU/IR GPUDialect.cpp, mlir/test/Dialect/GPU invalid.mlir

[mlir][gpu] Reject conflicting async operands on gpu.launch_func (#196012)

Reject gpu.launch_func ops that have both async dependencies and an
explicit async object.
DeltaFile
+19-0mlir/test/Dialect/GPU/invalid.mlir
+4-0mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
+23-02 files

LLVM/project 0ff5c32mlir/include/mlir/IR BuiltinAttributes.td BuiltinAttributes.h, mlir/include/mlir/Support Complex.h

[mlir] Use custom mlir::Complex type for non-float complex numbers (#191821)

Instantiating std::complex for types where std::is_floating_point<T> is
false is not allowed, and throws warnings when building with MSSTL. This
patch fixes those warnings by introducing an mlir::Complex type, which
is a typedef to std::complex when T satisfies is_floating_point, and a
custom complex type otherwise.

The std::complex implementation from libc++ has been used as a guide for
implementing the custom type.

Fixes #65255
DeltaFile
+269-0mlir/include/mlir/Support/Complex.h
+256-0mlir/unittests/Support/ComplexTest.cpp
+15-15mlir/include/mlir/IR/BuiltinAttributes.td
+14-12mlir/include/mlir/IR/BuiltinAttributes.h
+8-8mlir/lib/IR/BuiltinAttributes.cpp
+4-4mlir/unittests/IR/AttributeTest.cpp
+566-396 files not shown
+579-4712 files

LLVM/project bb128b7openmp/device/src Reduction.cpp

[OpenMP][offload] Inline target reductions

Significantly reduces register usage and removes register spilling in
`offload/test/offloading/multiple-reductions.cpp`, for example.
Provides speedup of up to 5-10x for a lot of reductions in such a larger
setup.
DeltaFile
+16-5openmp/device/src/Reduction.cpp
+16-51 files

LLVM/project 325463foffload/test/offloading multiple_reductions.cpp

[OpenMP][offload] Add enhanced cross-team reduction test

Tests different patterns of OpenMP cross-team reductions, for multiple
data types.
If run with `LIBOMPTARGET_INFO=16`, shows current register spilling due
to dispatch jump chains (which grow for every reduction in the same
translation unit) for indirect function calls in the reduction runtime.
DeltaFile
+129-0offload/test/offloading/multiple_reductions.cpp
+129-01 files

LLVM/project 3ed76d0utils/bazel/llvm-project-overlay/libc BUILD.bazel, utils/bazel/llvm-project-overlay/libc/test/src/sys/socket BUILD.bazel

[Bazel] Fixes 7cea026 (#196033)

This fixes 7cea026109ab3308cafae38dc5b1b89d8770fdab.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+11-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+5-0utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
+16-02 files

LLVM/project cf24489llvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/unittests/Target/AArch64 InstSizes.cpp

[AArch64] Report accurate sizes for MOVaddr and MOVimm pseudos
DeltaFile
+89-0llvm/unittests/Target/AArch64/InstSizes.cpp
+28-16llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+117-162 files

LLVM/project 60edd8cllvm/lib/Target/AArch64 AArch64ExpandPseudo.cpp AArch64ExpandImm.cpp

[NFC][AArch64] Extract MOVaddr* expansion model into common header

This makes the expansion logic reusable by getInstSizeInBytes in a
follow-up patch.
DeltaFile
+742-0llvm/lib/Target/AArch64/AArch64ExpandPseudo.cpp
+0-722llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
+75-56llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+42-0llvm/lib/Target/AArch64/AArch64ExpandPseudo.h
+0-35llvm/lib/Target/AArch64/AArch64ExpandImm.h
+10-9llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+869-8226 files not shown
+889-84212 files

LLVM/project 13c79a5lldb/include/lldb/Target Statistics.h, lldb/source/Target Statistics.cpp

[lldb] Remove name field from StatsSuccessFail (#195039)

Each *Stats struct is supposed to serialize into JSON and contains the
data to serialize *itself* into JSON. However, the StatsSuccessFail also
contains a `name` field which is only interesting for the *parent* Stats
class. This patch just removes the field as it is only used for storing
a constant string that is only used once during serialization.
DeltaFile
+2-5lldb/include/lldb/Target/Statistics.h
+3-2lldb/source/Target/Statistics.cpp
+5-72 files

LLVM/project caee8fbllvm/utils/gn/build sync_source_dir.py

[gn] Run `uvx black llvm/utils/gn/build/sync_source_dir.py` (#196044)

Apparently "Check code formatting" doesn't block submission. Follow-up
to #195948.
DeltaFile
+6-6llvm/utils/gn/build/sync_source_dir.py
+6-61 files

LLVM/project 42ae7d8llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h

Clarify isLegalMaskedLoadOrStore docstring
DeltaFile
+3-0llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+3-01 files

LLVM/project 6690eaallvm/utils/gn/build write_cmake_config.py

[gn] Fix a benign bug in write_cmake_config.py (#196043)

A local read() function was ignoring its parameter and was instead
always using the value that was passed in as parameter anyways.

No actual behavior change.
DeltaFile
+1-1llvm/utils/gn/build/write_cmake_config.py
+1-11 files

LLVM/project 440c3d1llvm/include/llvm/IR IRBuilder.h, llvm/lib/IR IRBuilder.cpp

[IRBuilder][NFC] Add CreateNonnullAssumption and use it in InstCombine (#195935)
DeltaFile
+2-7llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+8-1llvm/lib/IR/IRBuilder.cpp
+5-1llvm/include/llvm/IR/IRBuilder.h
+15-93 files

LLVM/project 3aa9c19llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses BUILD.gn, llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework BUILD.gn

[gn build] Port b73ce3e53fcb (#196049)
DeltaFile
+5-0llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses/BUILD.gn
+1-0llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
+6-02 files

LLVM/project eb39836llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses BUILD.gn, llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework BUILD.gn

[gn build] Port 8578a0a87f4f (#196048)
DeltaFile
+2-0llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
+2-0llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses/BUILD.gn
+4-02 files

LLVM/project f8c3f46llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework BUILD.gn

[gn build] Port 75b3226c3e67 (#196046)
DeltaFile
+2-1llvm/utils/gn/secondary/clang/unittests/ScalableStaticAnalysisFramework/BUILD.gn
+2-11 files

LLVM/project bfbcef4llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize BUILD.gn, llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer BUILD.gn

[gn build] Port 0beb9f45f273 (#196045)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
+2-02 files

LLVM/project 8effc2cllvm/lib/CodeGen/GlobalISel CombinerHelper.cpp, llvm/test/CodeGen/AArch64 sqrt-fastmath.ll

[AArch64][GlobalISel] Protect against fdiv of 1 (#184063)

This test was crashing undef gisel, as the fdiv would be CSEd to the
existing instruction.
DeltaFile
+657-426llvm/test/CodeGen/AArch64/sqrt-fastmath.ll
+8-3llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+665-4292 files

LLVM/project 7529605lldb/source/Plugins/Process/Linux NativeProcessLinux.cpp NativeProcessLinux.h, lldb/source/Plugins/Process/POSIX NativeProcessELF.cpp NativeProcessELF.h

[LLDB][PosixELF] Move m_mem_region_cache to generic ELF layer (#195809)
DeltaFile
+13-0lldb/test/Shell/Breakpoint/step-out.test
+8-0lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp
+0-8lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+4-0lldb/source/Plugins/Process/POSIX/NativeProcessELF.h
+0-3lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
+2-0lldb/test/Shell/Breakpoint/Inputs/break_stepout.c
+27-112 files not shown
+27-138 files

LLVM/project 1af4350llvm/include/llvm/IR Constants.h, llvm/lib/IR Constants.cpp AsmWriter.cpp

[LLVM][Constants] Store "splat (float 0.0)" as ConstantFP rather than ConstantAggregateZero. (#195284)

The original split is awkward because, not unreasonably, some code paths
expect constant folding of ConstantFP operands to yield a ConstantFP
result.

Fixes https://github.com/llvm/llvm-project/issues/194590
DeltaFile
+45-0llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
+8-6llvm/lib/IR/Constants.cpp
+5-0llvm/lib/IR/AsmWriter.cpp
+3-0llvm/include/llvm/IR/Constants.h
+1-1llvm/lib/IR/ConstantFold.cpp
+62-75 files

LLVM/project b6a9206flang/test/Lower select-type.f90

[flang][NFC] Converted select-type.f90 test to HLFIR (#195777)

Lower/select-type.f90 took special care to convert from legacy lowering
to HLFIR lowering.

Assisted-by: AI
DeltaFile
+665-333flang/test/Lower/select-type.f90
+665-3331 files

LLVM/project c97244dflang-rt/lib/runtime extensions.cpp

[flang-rt] Avoid libstdc++ guard symbols in RTNAME(Timef) (#195984)

The function-local `static Lock timef_lock;` introduced by PR #185377
required thread-safe-static initialization, which causes the compiler to
emit calls to `__cxa_guard_acquire`/`__cxa_guard_release` from
libsupc++/libc++abi -- a C++ runtime library dependency that flang-rt
explicitly avoids (see comment in
flang-rt/include/flang-rt/runtime/lock.h).

Move `timef_lock` to namespace scope, matching the existing
`rand_seed_lock` pattern in the same file. The other function-local
statics (`start`, `ticks_per_sec`, `isInit`) have constant initializers
and are unaffected.

Assisted-by: AI
DeltaFile
+8-1flang-rt/lib/runtime/extensions.cpp
+8-11 files

LLVM/project a30e9a4cross-project-tests/debuginfo-tests/dexter/dex/debugger DAP.py

[Dexter] Add timestamps to DAP logging (#193705)

DAP logs are currently optionally output by Dexter to assist in
debugging or analyzing Dexter sessions. The output currently includes
the contents of every DAP message sent to/from the debug adapter, but
for some long-running programs it can also be useful to know when
messages have been sent and received; to assist, this patch adds
timestamps to DAP messages in the log.
DeltaFile
+10-0cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
+10-01 files

LLVM/project 2b8ca25llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp

[SPIRV] Fix failure on the `llvm.trap` test (#195996)

The `llvm.trap` test was failing with the expensive checks enabled,
because the backend incorrectly created the `OpConstant` and
`OpConstantNull` instructions for the operand of `OpAbortKHR` in the
same basic block. When there are multiple `llvm.trap` intrinsics, they
reuse the same operand, which doesn't dominate all the users. This
commit moves the constant into the function entry block to ensure it
dominates all the users.

Assisted-by: Claude Opus 4.6 <noreply at anthropic.com>
DeltaFile
+37-1llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+37-11 files

LLVM/project a751e30llvm/include/llvm/Analysis VecFuncs.def, llvm/include/llvm/IR RuntimeLibcalls.td

[AMDLIBM] - Add new vector call from amdlibm library (#194793)

Add vector call from AMDLIBM

erfinv
Vector - vrd2, vrd4, vrd8

erfcinv
Vector - vrd2, vrd4, vrd8

cdfnorminv
Vector - vrd2, vrd4, vrd8 

As per the latest external supported calls

[amdlibm_vec.h](https://github.com/amd/aocl-libm-ose/blob/master/include/external/amdlibm_vec.h)
DeltaFile
+78-0llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
+49-1llvm/test/Transforms/Util/add-TLI-mappings.ll
+12-0llvm/include/llvm/Analysis/VecFuncs.def
+12-0llvm/include/llvm/IR/RuntimeLibcalls.td
+151-14 files

LLVM/project 346fdd5clang/utils/TableGen NeonEmitter.cpp

[Clang][NEON] Use const std::string & in NeonEmitter. NFC. (#193925)

Fixes #94375
DeltaFile
+3-2clang/utils/TableGen/NeonEmitter.cpp
+3-21 files

LLVM/project 00a14f8llvm/test/CodeGen/X86 vector-reduce-mul.ll

[X86] vector-reduce-mul.ll - add 32-bit test coverage to the integer multiply tests (#196030)
DeltaFile
+2,969-1,160llvm/test/CodeGen/X86/vector-reduce-mul.ll
+2,969-1,1601 files

LLVM/project 0ed0b21llvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/unittests/Target/AArch64 InstSizes.cpp

[AArch64] Report accurate sizes for MOVaddr and MOVimm pseudos
DeltaFile
+89-0llvm/unittests/Target/AArch64/InstSizes.cpp
+28-16llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+117-162 files